Programming 2: Techniques (5cr)
Course unit code: C-10122-COMP--CS--110
General information
- Credits
- 5 cr
- Institution
- University of Tampere
Objectives
A student attaining grade "good" can design and implement smallish (consisting some hundreds lines of code at maximum) programs independently: the student is able to divide the program to parts that can be implemented separately in a practicable way plus design simple data structures and algorithms. Especially the student:can use a version control system (in single programmer's projects without remote repositories)can use the most common STL containers, algorithms, and iteratorscan write recursive functionscan use pointers and indirect pointingunderstands the principles of (dynamic) memory management.
Content
Core contentDividing program code into manageable parts and other style issues.Modularity and use of classes, basics of object-oriented programming.Recursion.STL (Standard Template Library), basic containers (vector, set, map), iterators.Values, references, pointers, indirect memory access.Memory and arrays.Dynamic memory management, linked list, smart pointers.Version control (in single programmer's projects without remote repositories).Compiling compared to interpreting.Complementary knowledgeSTL algorithms, more STL containers (list, deque).Function pointers, pointer arithmetics.Compilation process (preprocessor, linking).
Prerequisites
Basic programming knowledge.Course is meant for students that have knowledge corresponding to the grade 3 or better from the course COMP.CS.100 Programming 1: Introduction to programming (or its earlier versions). However, you can start the course, if your grade from Programming 1 is less than 3, but in such case you are expected to complete your prerequisite independently to the level expected on the course.
Further information
Partial completions of the course must be carried out during the same implementation round.