Home / Programmes / Mathematics / MAT232
COURSE INFORMATION PACKAGE · MAT232

Algorithms and Advanced Programming II

Compulsory · French Open to Erasmus+ exchange students
ECTS
3
Local Credit
3
Theory + Practice + Lab
1 + 1 + 1
Course Level
Bachelor Degree
Prerequisites
-
Semester
4
On this page
Content Assessment System Relation of Proficiency ECTS
Course Instructor(s)
Özgün PINARER
opinarer@gsu.edu.tr

Content

Objective

The purpose of this course is to improve students understanding of algorithm design and analysis by studying algorithms working on more complex data structures.

Course Content

1. Introduction to object-oriented programming - Basic Concepts
2. Trees and tree hopping
3. AVL Trees
4. Splay Trees
5. Max and Min Stack Trees
6. MultiWays Tree
7. Graphs and Entanglement Algorithms
8. Minimum Spanning Tree
9. Graph algorithms (shortest path, all pairs shortest path, Djikstra's algorithm)
10. Coloring of graphs, matrix representation, conversion between representations in the form of matrices and objects
11. Character Sequence Algorithms (search in character sequence, longest common substring)
12. Reference behavior, value behavior, shallow/deep copy

Course Learning Outcomes

When given a problem over a proprietary data structure, students will be able decompose the data structure and computation workflow to known cases and implementations.
When given the description of a new algorithm, students will be able to implement it in a programming language relying on implementation experience gained from this course.
When given a source code, students will be able to identify data structures and algorithms that are implemented in the given source code.

Teaching and Learning Methods

lecture, programming home work, presentation

References

The Art of Computer Programming, Addison-Wesley, Donald Knuth Algorithms, 4th Ed. Robert Sedgewick

Lafore, R., Broder, A., & Canning, J. (2022). Data Structures and Algorithms in Python. Pearson Education, Limited.

Agarwal, B., & Baka, B. (2018). Hands-On Data Structures and Algorithms with Python: Write complex and powerful code using the latest features of Python 3.7. Packt Publishing Ltd.

www.geeksforgeeks.org

Assessment System

Contribution to Overall Grade
Activities Number Contribution
Contribution of in-term studies to overall grade 1 50
Contribution of final exam to overall grade 1 50
Total 2 100
In-Term Studies
Activities Number Contribution
Assignments 0 0
Presentation 0 0
Midterm Examinations (including preparation) 1 50
Project 0 0
Laboratory 0 0
Other Applications 0 0
Quiz 0 0
Term Paper/ Project 0 0
Portfolio Study 0 0
Reports 0 0
Learning Diary 0 0
Thesis/ Project 0 0
Seminar 0 0
Other 0 0
Make-up 0 0
Total 1 50

Relation of Proficiency

No Program Learning Outcomes Contribution
1 2 3 4 5
1 understands principles of deductive reasoning; has experience to verify well-foundedness and exactness of mathematical statements in systematic ways;
2 can properly state and use concepts and results of major mathematical interest; X
3 masters current computational techniques and algorithms; has a good ability in their use; can identify relevant tools, among those one has learned, suitable to solve a problem and is able to judge whether or not one is in possession of these tools; X
4 is able to express one’s mathematical ideas in an organised way both in written and oral forms; X
5 understands relations connecting substantial concepts and results; can switch from one viewpoint to another on mathematical objects (pictures, formulae, precise statements, heuristic trials, list of examples,...); X
6 has followed individually a guided learning strategy; has pursued steps toward the resolution of unfamiliar problems; X
7 has a theoretical and practical knowledge in computer science well adapted for learning a programming language; X
8 has investigated the relevance of modeling and using mathematical tools in natural sciences and in the professional life; is conscious about historical development of mathematical notions; X
9 has followed introduction to some mathematical or non-mathematical disciplines after one’s proper choice; had experience to learn selected subjects according to one’s proper arrangement; X
10 masters French language as well as other foreign languages, to a level sufficient to study or work abroad. X

ECTS

Activities Number Period Total Workload
Class Hours 13 3 39
Working Hours out of Class 14 2 28
Assignments 5 2 10
Presentation 0 0 0
Midterm Examinations (including preparation) 1 5 5
Project 1 10 10
Laboratory 0 0 0
Other Applications 0 0 0
Final Examinations (including preparation) 0 0 0
Quiz 0 0 0
Term Paper/ Project 0 0 0
Portfolio Study 0 0 0
Reports 0 0 0
Learning Diary 0 0 0
Thesis/ Project 0 0 0
Seminar 0 0 0
Other 0 0 0
Make-up 0 0 0
Total Workload 92
Total Workload / 25 3.68
Credits ECTS 4