ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE ECTS @ IUE

Syllabus ( INF 212 )


   Basic information
Course title: Algorithms and Programming II
Course code: INF 212
Lecturer: Assist. Prof. Tuba GÖZEL
ECTS credits: 6
GTU credits: 4 ()
Year, Semester: 1, Spring
Level of course: First Cycle (Undergraduate)
Type of course: Compulsory
Language of instruction: English
Mode of delivery: Face to face , Lab work
Pre- and co-requisites: INF211 Algorithms and Programming I
Professional practice: No
Purpose of the course: This course is the continuation of the course INF211 Algorithms and Programming I. The students learn analysis, implementation, and application of the algorithms to given problems. Basic algortithms and data structures are introduced.

ENF211 Algoritmalar ve Programlama I dersinin devamı olan bir derstir. Algoritmaların analizi, uygulanması ve verilen problemlerin çözümünde kullanılmasının öğretilmesi amaçlanmaktadır. Temel algoritmalar ve veri yapıları kapsanmaktadır.

principles of program design as well as classes, objects, data members, methods, abstract data types, operators overloading, exception handling. Object oriented programming techniques applied to electronic engineering are also considered.
   Learning outcomes Up

Upon successful completion of this course, students will be able to:

  1. Read, understand, and implement algorithms

    Contribution to Program Outcomes

    1. Develop his/her knowledge in using different techniques and modern equipment for engineering applications

    Method of assessment

    1. Laboratory exercise/exam
    2. Term paper
  2. Learn about algorithmic approaches for solving a given problem

    Contribution to Program Outcomes

    1. Obtain basic knowledge of Electronics Engineering.
    2. Formulate and solve engineering problems

    Method of assessment

    1. Written exam
    2. Laboratory exercise/exam
    3. Term paper
  3. Understand the classic data structures and elementary algorithms

    Contribution to Program Outcomes

    1. Develop his/her knowledge in using different techniques and modern equipment for engineering applications

    Method of assessment

    1. Written exam
    2. Laboratory exercise/exam
    3. Term paper
   Contents Up
Week 1: Algorithmic thinking, peak finding
Week 2: Models of computation, document distance
Week 3: Insertion sort, merge sort
Week 4: Heaps and heap sort
Week 5: Binary search trees, BST sort
Week 6: AVL trees, AVL sort
Week 7: Counting sort, radix sort, lower bounds for sorting and searching
Week 8: Mid-term
Week 9: Hashing with chaining
Week 10: Table doubling, Karp-Rabin
Week 11: Open addressing, cryptographic hashing
Week 12: Integer arithmetic, Karatsuba multiplication
Week 13: Square roots, Newton's method
Week 14: Breadth-first search (BFS), depth-first search (DFS), topological sorting
Week 15*:
Week 16*: Final exam
Textbooks and materials: Cormen, Thomas, Charles Leiserson, Ronald Rivest, and Clifford Stein. Introduction to Algorithms. 3rd ed. MIT Press, 2009.
Recommended readings: Miller, Bradley, and David Ranum. Problem Solving with Algorithms and Data Structures Using Python. 2nd ed. Franklin, Beedle & Associates, 2011.
  * Between 15th and 16th weeks is there a free week for students to prepare for final exam.
Assessment Up
Method of assessment Week number Weight (%)
Mid-terms: 8 20
Other in-term studies: 0
Project: 6, 9, 12 20
Homework: 2, 4, 8, 10, 13 20
Quiz: 0
Final exam: 16 40
  Total weight:
(%)
   Workload Up
Activity Duration (Hours per week) Total number of weeks Total hours in term
Courses (Face-to-face teaching): 3 14
Own studies outside class: 1 12
Practice, Recitation: 2 6
Homework: 5 4
Term project: 8 3
Term project presentation: 0 0
Quiz: 0 0
Own study for mid-term exam: 7 2
Mid-term: 3 1
Personal studies for final exam: 10 2
Final exam: 3 1
    Total workload:
    Total ECTS credits:
*
  * ECTS credit is calculated by dividing total workload by 25.
(1 ECTS = 25 work hours)
-->