Computer Programming II
Syllabus, Bachelor's level, 1TD722
- Code
- 1TD722
- Education cycle
- First cycle
- Main field(s) of study and in-depth level
- Computer Science G1F, Technology G1F
- Grading system
- Pass with distinction (5), Pass with credit (4), Pass (3), Fail (U)
- Finalised by
- The Faculty Board of Science and Technology, 30 August 2018
- Responsible department
- Department of Information Technology
Entry requirements
Computer Programming I or equivalent.
Learning outcomes
On completion of the course, the student should be able to:
- use the programming language Java, both writing own code and explaining what task a given code performs;
- explain the concepts inheritance and polymorphism in an object-oriented language, and use these concepts in the programming process;
- implement recursive solutions to different problems;
- describe the general principle for analysing the efficiency of an algorithm and perform such an analysis on algorithms;
- describe, implement and use the fundamental data structures array, linked list, hash table, binary tree and abstract data types as stacks, queues and maps;
- describe how error handling with exceptions is working and to be able to use it in programs.
Content
Programming in Java: inheritance, polymorphism, exceptions. Object oriented design. Data structures: stacks, queues, lists, trees, hash tables, maps and collections.
Basic algorithms for storing, searching and sorting. Debugging and testing.
Instruction
Lectures, problem classes/computer lab and compulsory assignments.
Assessment
Written examination (2 credits) and approved assignments (3 credits).
If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.