Information Package

Program of Electrical and Electronics Engineering (English 30%)

EEM120

ADVANCED PROGRAMMING TECHNIQUES

Course Code
EEM120
Semester
Second Term (Spring)
Theory+Practice
2 + 3
ECTS
7
Course TypeCompulsory Course
Course LevelBachelor's Degree
Year of Study1
SemesterSecond Term (Spring)
ECTS7
Name of Lecturer(s)
Learning Outcomes

At the end of this course, the students;

  1. To gain the ability of analyzing and designing of algorithms and using existing algorithms.
  2. To gain the ability to write generalized codes and data abstraction in software development.
  3. To gain the ability to separating big problems in to smaller sub parts for solving.
  4. To learn the concept behind the complexity theory and gain the ability to develop appropriate software
  5. To gain multidiciplinary working ability.
Mode of DeliveryFace to face
PrerequisitesYes(BİL101)
Recommended Optional Programme ComponentsIt is recommended for the student to take BİL101 and BİL105 courses before.
Course DescriptionFollowing topics are covered in this course: Analyzing and designing of algorithms and using existing algorithms. To gain the ability to write generalized codes and data abstraction in software development Separating big problems in to smaller sub parts for solving. To learn the concept behind the complexity theory and gain the ability to develop appropriate software
Course Contents
WEEK TOPICS
1st Week Introduction: Review, two dimensional arrays.
2nd Week Class, Data types, Abstract Data Types (ADT)
3rd Week Pointers. First laboratory work
4th Week Strings, transformations, functions.
5th Week Parameter Transition methods, Macros and command line arguments
6th Week Structs and Recursive functions
7th Week Bitwise operations. Second laboratory work
8th Week MIDTERM
9th Week List class, list member functions and examples, implementation of iterators and usage with lists. Examples. Third laboratory work
10th Week Stack data structure. Stack class, member functions. Using and working with stacks. Examples
11th Week Introduction to Queues. Queue class and functions. Working and using queues. Examples. Fourth laboratory work.
12th Week Priority queues. Working with priority queues. Member functions. Radix sort algorithm. Examples
13th Week Dynamic data structures. Introduction to linked lists. Linked list applications. Doubly linked lists. Circular linked lists. Examples. Fifth laboratory work
14th Week Trees. Binary search trees. Designing and developing trees. Tree traversal. Searching, traversing, adding deleting in tree structure
Recommended or Required ReadingData Structures with C++ Using STL, 2/E?,William H. Ford, William R. Topp, Prentice Hall
Planned Learning Activities and Teaching Methods
  • Lecture
  • Presentation
  • Questions/Answers
Assessment Methods and Criteria
Quantity Percentage (%)
Mid-term 1 30
Quiz 4 10
Practice 6 20
Total(%) 60
Contribution of In-term Studies to Overall Grade(%) 60
Contribution of Final Examination to Overall Grade(%) 40
Total(%) 100
ECTS Allocated Based on Student Workload
Activities Quantity Duration (Hour) Total Workload (Hour)
Midterm exam 1 2 2
Preparation for Quiz 3 10 30
Individual or group work 0 0 0
Preparation for Final exam 1 40 40
Course hours 5 1 5
Preparation for Midterm exam 1 30 30
Laboratory (including preparation) 6 12 72
Final exam 1 2 2
Homework 2 15 30
Total Work Load211
Total Work Load / 30 (h)7.03
ECTS Credit of the Course7
Language of InstructionTurkish
Work Placement(s)No
LO1 LO2 LO3 LO4 LO5
K1 X X X X
K2 X X X X
K3 X X
K4 X X X X
K5
K6
K7 X
K8 X X
K9
K10
K11 X