Skip to main content

Programming Languages 3 (5 cr)

Code: 5G00DM61-3003

General information


Enrolment period
01.05.2021 - 03.09.2021
Registration for the implementation has ended.
Timing
30.08.2021 - 16.12.2021
Implementation has ended.
Credits
5 cr
Mode of delivery
Contact learning
Unit
ICT Engineering
Campus
TAMK Main Campus
Teaching languages
English
Seats
0 - 40
Degree programmes
Bachelor's Degree Programme in Software Engineering
Teachers
Erkki Hietalahti
Person in charge
Erkki Hietalahti
Course
5G00DM61

Objectives (course unit)

1. Student understands the basic nature of data structure and algorithms. 2. Student is able to use ready made data structures and algorithms. 3. Student is able to construct their own data structures and algorithms for more specific needs.

Content (course unit)

Data structures and algorithm design and implementation with Java programming language.

Prerequisites (course unit)

Programming Languages 1

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

Student knows the basics of data structures and algorithms. Student is able to use
readymade data structures and algorithms with guidance. Student is able to construct their own data structures and algorithms independently with guidance.

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

Student understands the basic nature of data structure and algorithms. Student is able to use
readymade data structures and algorithms. Student is able to construct their own data structures and algorithms independently for more specific needs.

Assessment criteria, excellent (5) (course unit)

Student understands in depth the basic nature of data structure and algorithms. Student is able to use readymade data structures and algorithms diversely in various situations. Student is able to construct their own data structures and algorithms independently for more specific needs diversely.

Location and time

Lectures: a block of three hours weekly. Time and place you will find in students weekly schedule provided by TAMK.

Currently the plan is to teach this on TAMKs premises but this may change because of still existing corona restrictions. Follow TAMK's information and information shared by me in your e-mail!

Exam schedules

There is no exam in this course.

Assessment methods and criteria

Course grading is evaluated on the basis of exercise activity and
programming projects made in the course. Both of these are evaluated on
the scale of 0-5 and the course grade is the average of these two values
rounded upward.
In exercise activity following scale is used:
- 0 - 20% of all exercises made => score is 0
- 20 - 35% of all exercises made => score is 1
- 35-50% of all exercises made => score is 2
- 50-65% of all exercises made => score is 3
- 65-80% of all exercises made => score is 4
- 80% or over of all exercises made => score is 5
There will be three programming projects in the course. Each of these
are graded as points between 0 - 5 and your total point of programming
projects is the average of these rounded upward. Requirements of each
project are spesified separately during the course (in moodle). The more work you do
for each project the better points value you get from it. Projects are
made in an incremental way: first you do a very simple program and after
that you add increments and so on thus increasing the points you get from the project.

In addition to above I will give some exercise activity points to those students that help the group in learning. The amount of points depends on how much help is offered and proofs of that must be visible on moodle.

Assessment scale

0-5

Teaching methods

Three-hour lecture begins with theory lesson. After that we go
through homework exercises with student questions and the rest of the time is used to begin new
homeworks or doing programming projects. In this phase teacher acts
as a consultant / coach and supports students.

Learning materials

Following textbook is the primary source of information in this course:
Robert L. Kruse, Alexander J. Ryba: Data Structures and Program Design in C ++.
Prentice Hall, 1999.
Other reading:
Clifford A. Shaffer: A Practical Introduction to Data Structures and Algorithm Analysis.
Second Edition. Prentice Hall, 2001.
William Ford, William Topp: Data Structures with C ++ Using STL. Second Edition. Prentice Hall, 2002.
Data Structures and Algorithm Analysis in C
Mark Allen Weiss
The Benjamin / Cummings Publishing Company, Inc.
1993
Data Structures and Algorithm Analysis in C ++,
2nd edition
Mark Allen Weiss
Addison-Wesley
February 1999

The course materials will be published to moodle area of this course.
Moodleusage is practised during the first lessons of this course.
The course lecture / exercise material is in English, as well as the course
the textbook.

Student workload

See above. It is advisable to set aside about twice as much time for independent / group work outside the lessons as for contact teaching to take up the course.

Content scheduling

Course topics include following areas - subjects are straight from course textbook
chapter titles:
- Programming Principles
- Introduction to Stacks
- Queues
- Linked Stacks and Queues
- Recursion
- Lists
- Searching
- Sorting
Course schedule and division of topics in it are published to a separate Excel file,
which will be published to moodle.

Completion alternatives

There is none.

Practical training and working life cooperation

Not relevant in this type of a course.

International connections

Not relevant in this type of a course.

Further information

There is none.

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

Unable to cope with assigned tasks even with assistance.

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

Can use examples and model solutions to do given tasks satisfactorily.

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

Student masters the whole content and is able to apply examples in many ways.

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

Can creatively combine information shared in the course to create new innovations and can critically analyze his / her own solutions and can tell what could be added to them to achieve a better result. All part works are on 5p level on an average.

Go back to top of page