IMT2243 Software Engineering
On the basis of
Working on a large full semester project in another course, for example the Bachelor Oppgave or Masters Thesis.
Expected learning outcomes
The students will learn skills and knowledge related to developing a project using the principles of professional software development.
- Understanding the strenghts and weaknesses of different programming languages
- Understanding the need for process control, and communication systems for software development
- Use of version control systems in large development projects, including ticket tracking, branching, SKUs and deployment
- Ability to comment code in accordance with an agreed standard and in a professional manner
- The ability to program for clarity
- Develop and build library components for larger systems
- Integration of multiple libraries into a large project
- Professionalism in approach to software development
- Give and receive critisim of coding practices and decisions
The topics include but are not limited to:
- Using version control in teams.
- Coding styles
- Comparitive languages
- Bug tracking and solving
- Commenting styles
- Deployment of applications
- Integrating libraries
- Developing library modules.
Teaching Methods (additional text)
The main teaching method for this course will be group meetings with code reviews. Students will present their work and have that worked review in front of the group. This allows students to learn from each other, and helps students learn to present their code and defend their coding decisions
Form(s) of Assessment
Form(s) of Assessment (additional text)
The assessment of this course is based on:
- Quality of code written
- Quality of comments and coding style
- Quality and relevance of comment comments in version control
- Quality of involvement in code reviews and refactoring of code
Alphabetical Scale, A(best) – F (fail)
The course will use internals and intermitent external examiners. The externals will participate every 3 years starting in 2015-2016.
No resit. The course must be retaken.
Web based resources, based on the language and processes chosen for the project.