Skip to main content

Programming Languages 2 (5 cr)

Code: 5G00DL97-3004

General information


Enrolment period
15.11.2020 - 05.01.2021
Registration for the implementation has ended.
Timing
04.01.2021 - 30.04.2021
Implementation has ended.
Credits
5 cr
Virtual portion
5 cr
Mode of delivery
Online learning
Unit
ICT Engineering
Campus
TAMK Main Campus
Teaching languages
English
Seats
0 - 40
Degree programmes
Bachelor's Degree Programme in Software Engineering
Teachers
Ossi Nykänen
Person in charge
Ossi Nykänen
Course
5G00DL97

Objectives (course unit)

1. Student understands the concepts of object-oriented programming. 2. Student is able to implement Java programs and applications by utilizing object-oriented design. 3. Student knows how to program with Java programming language.

Content (course unit)

Basics object-oriented programming by using Java. Modularizing programs with classes and objects and utilizing object-oriented programming in program implementations.

Prerequisites (course unit)

Programming languages 1

Assessment criteria, satisfactory (1-2) (course unit)

Students knows about object-oriented programming principles. Student is able to implement modularizing programs with classes and objects with guidance. Student is able to utilize object-oriented programming principles in simple program implementations with guidance.

Assessment criteria, good (3-4) (course unit)

Students knows object-oriented programming principles by using Java. Student is able to implement modularizing programs with classes and objects. Student is able to utilize object-oriented programming principles independently in different program implementations.

Assessment criteria, excellent (5) (course unit)

Students knows in depth object-oriented programming principles by using Java. Student is able to implement modularizing programs with classes and objects in diverse situations. Student is able to utilize object-oriented programming principles independently diversely in various different program implementations.

Exam schedules

No exam.

Assessment methods and criteria

Assignments and project work.

Assessment scale

0-5

Teaching methods

Contact teaching, assignments (the primary studying method), project work, and peer reviews.

Learning materials

Moodle course with pdf slides and links to additional material. (For the object-oriented part following the outline of the book Tony Gaddis, (2019). Starting Out with C++: From Control Structures through Objects (9th Edition), Pearson.)

Student workload

The course is divided into two main phases: First, introducing new programming topics, and second, a project work. In the first phase, studying is organized into two organized weekly sessions. The Friday sessions (3h) introduce new topics with assignments and the Wednesday sessions (3h) provide room for completing the assignments in small study groups. For maximal learning outcome, it is assumed that students already attempt to solve the assignments before the Wednesday sessions. In the second phase of the course, the Friday and the Wednesday sessions are reserved for the project work, and solving the related software design issues together.
(More detailed agenda and instructions in Moodle.)

Completion alternatives

There are no other main ways to pass the course, besides completing assignments and the project work. (Remember that the only way to learn programming, is to program yourself.)

Further information

The covid situation may affect contact teaching. Please see the Moodle course for instructions how to attend the contact teaching hours.

The course 3003 was originally planned for face-to-face session at campus, and 3004 for remote sessions via videoconferencing. However, according to the current TAMK covid guidelines, both courses start remotely in January 2021, via MS Teams. (You should still enroll according to the original planning, it is still possible that 3003 will have f2f sessions later.)

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Less than 30% of the exercises completed.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

The student is familiar with simple C++ object-oriented programming and can implement small applications. At least 30% of the exercises completed, and minimal project work completed.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

The student is familiar with simple C++ object-oriented programming and can implement small applications. The student knows the basic elements of object-oriented design (e.g. is-a and has-a relationships) and can design simple class structures in C++. At least 60% of the exercises completed, and good project work completed.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

The student is familiar with simple C++ object-oriented programming and can implement small applications. The student knows the basic elements of object-oriented design (e.g., is-a and has-a relationships) and can design simple class structures in C++. The student can evaluate different object-oriented designs and understands the basic of more advanced object-oriented C++ design (e.g., virtual methods and polymorphism). At least 90% of the exercises completed, and good project work completed.

Go back to top of page