PROG1003
Object-oriented Programming
Spring
Gjøvik
Norwegian
About this course
Content
Principles for object-orientation Introduction to C++ -language elements as: - Classes and objects - Constructors / Destructors - Inheritance - Virtual functions / polymorphism / late binding - Pointers - new / delete - Dynamnic allocation - Parameteres (by value/reference) - C++ strings - Functions pointers (C-style og C++ style) Use of library functions: - C++ containers: lists, arrays, maps - C++ standard algorithms: e.g. sort Misc: - Tools for version control - Bigger programs (application) consisting of multi-files - Code analysis and testing - Documentation / commenting
Learning outcomes
Knowledge:
- knows the principles of object-oriented programming
- have knowledge of when and how to organize source code in classes
- has knowledge of alternative programming paradigms for object-oriented programming
- knows quality and security aspects of software development and maintenance
Skills:
- can organize source code in one or more classes, and take advantage of the selected structures
- can, if necessary, reorganize class structures to facilitate maintenance and further development
- can make use of development techniques related to object-oriented programming and other relevant programming paradigms
- can use tools for version control and code analysis, as well as perform source code testing
General competence:
- can estimate complexity and identify needs for resources in new development projects
- can plan and build larger software solutions where functionality and data are distributed in such a way that maintenance and further development of the software becomes less resource-intensive
- can work with and make use of other developers in a development project
Teaching methods
- Lectures
- Mandatory Works
- Exercises
- Project Work
Mandatory Claims: 2 of 3 mandatory assignments and project work must be approved. Clearly inadequate work, not independently own work or deadline that is not complied is considered as undelivered. The mandatory assignments must be submitted before the student can join a group and start the project work.