Overordnede kursusmål
The aim of the course is to convey the basic concepts of
object-oriented programming and to enable the student to apply
these concepts using common object-oriented programming languages.
The student will be able to read program code and analyze the
behavior of the program. In addition, the student will be able to
apply contemporary agile software development practices in the
context of smaller software development projects both extending
existing software and developing new functionality. A focus will be
put on quality assurance like automated testing and continuous
integration. Moreover the student will learn to work in teams,
present the work, and document it. The student will also learn to
work with contemporary software development tools (e.g., IDEs,
etc.)
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- Acquire knowledge of an object-oriented programming
language
- Understand and apply the object-oriented principles of the
introduced programming language to handle encapsulation,
abstraction, inheritance, and polymorphism
- Understand and apply the concepts of user stories and behavior
driven development
- Understand and apply the concepts of automated testing,
refactoring, and reuse of existing code and libraries
- Understand and apply the concepts of automated testing,
refactoring, and reuse of existing code and libraries
- Understand and apply the concepts of version control and
continuous integration
- Recognize and be able to apply a few, simple design
patterns
- Understand the advantages of a selected software
architecture
- Complete a multi-week software project in a team applying pair
programming and covering user stories, running software, tests, and
documentation
- Be able to work in a group
- Be able to concisely present project iteration results (i.e.,
running software and other artifacts)
- Be able to write a clear and well-structured report documenting
all the core aspects of a software development project
Kursusindhold
The course introduces a commonly used object-oriented programming
language, covers web-based front-end technologies, and applies
agile development methods covering the following topics:
- types, primitive and referenced
- basic programming constructs (loops, branching statements, etc.)
- values, operators and expressions
- classes, objects, fields and methods
- use of libraries
- design of classes, hierarchies, inheritance
- abstraction (abstract classes, interfaces)
- error/exception handling
- simple design patterns and basic software architectures
- pair programming
- user stories, behavior driven development, unit testing,
- debugging, refactoring
- version control, continuous integration
- use of development tools (IDE, etc)
Sidst opdateret
04. maj, 2018