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
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.