Skip to main content
TR

ALGORITHMS AND PROGRAMMING

Course
ITEC223 - ALGORITHMS AND PROGRAMMING
Department
Information Technologies - English - Undergraduate
Course Type
Course
Status
Required
Language
English
Credit
4
ECTS
6
T+P+L
3 + 0 + 2
Course Coordinator(s)
-
Prerequisite
Keywords

Course Description

The course mainly focuses on software implementations in C Programming Language. Firstly, basic concepts of algorithms are discussed and then structures of programming are studied. Then, arrays and searching and sorting algorithms on arrays are studied. Fundamentals of basic data structures, which are arrays, structures and unions are discussed together with bitwise operations and enumerations in C. Pointers, functions and file processing are studied in the second part of the course, after midterm examination. Case studies related to searching and sorting algorithms are also studied. Functions, characters and strings are studied as last topics of algorithm developments and course is finalized with complexity analysis of algorithms.

ALGORITHMS AND PROGRAMMING

Evaluation Tools (Active Term)

Item Type Weight (%)
Final Exam Final 40
Midterm Exam Midterm 30
Quiz Quiz 10
Homework Assignment 10
Lab Assignment 10
Total 100

Course outcomes

  1. 01 Learn and enhance basics of algorithms - pseudocodes and flowcharts.
  2. 02 Improve computer programming abilities with arrays, structures, pointers, strings.
  3. 03 Implement popular searching and sorting algorithms.
  4. 04 Learn how to program using structured data.
  5. 05 Develop computer programs including file processing.
  6. 06 Analyse the complexity of an algorithm and software implementation.

Course Syllabus

Week Topic
Week 1 Introduction to Algorithms
Week 2 Pseudocodes and Flowcharts
Week 3 Structured Program Development and Program Control
Week 4 Arrays, Sorting Algorithms on Arrays
Week 5 Searching Algorithms on Arrays
Week 6 Structures, Unions, Bit Manipulations and Enumerations
Week 7 Midterm Examination
Week 8 Midterm Examination
Week 9 File Processing
Week 10 Case Studies - Basic searching and sorting algorithms
Week 11 Dictionaries
Week 12 Characters and Strings
Week 13 Complexity Analysis of Algorithms
Week 14 Complexity Analysis of Algorithms
Week 15 Final Exam

Reference Books & Course Materials

  1. 01 John V. Guttag, Introduction to Computation and Programming Using Python, Third Edition, The MIT Press, 2021.
  2. 02 Thomas H. Cormen, Algorithms Unlocked, First Edition, The MIT Press, 2013.

Learning Outcomes

  1. L01 Describe different types of algorithms. SOLO 3
  2. L01 Construct files in Python. SOLO 4
  3. L01 Describe different types of algorithms. SOLO 4
  4. L01 Describe different types of algorithms. SOLO 3
  5. L02 Implement sorting algorithms in Python. SOLO 4
  6. L02 Implement sorting algorithms in Python. SOLO 4
  7. L02 Implement sorting algorithms in Python. SOLO 4
  8. L03 Construct dictionaries in Python. SOLO 4
  9. L03 Construct dictionaries in Python. SOLO 4
  10. L03 Construct dictionaries in Python. SOLO 4
  11. L04 Perform string operation in Python. SOLO 4
  12. L04 Perform string operation in Python. SOLO 4
  13. L04 Perform string operation in Python. SOLO 4
  14. L05 Implement searching algorithms in Python. SOLO 4
  15. L05 Implement searching algorithms in Python. SOLO 4
  16. L05 Implement searching algorithms in Python. SOLO 4
  17. L06 Construct files in Python. SOLO 4
  18. L06 Construct files in Python. SOLO 4
  19. L07 Analyze algorithm complexity. SOLO 4
  20. L07 Analyze algorithm complexity. SOLO 4
  21. L07 Analyze algorithm complexity. SOLO 4

Program Outcomes

  1. P01 Apply data science principles and techniques to challenges in real life situations, and effectively communicate their solutions.
  2. P02 Identify and implement data analysis methodologies based on theoretical ideas, ethical code, and in-depth knowledge of the underlying data.
  3. P03 Analyze the guiding concepts and assessment procedures for information analysis in real-life applications.
  4. P04 Design and apply relevant data analysis models to find obscure solutions to business-related problems.
  5. P05 Utilize modern computing techniques to handle real-world problems characterized by massive amounts of data, such as parallel and distributed computing and machine learning.
  6. P06 Configure and administer the software tools required to efficiently produce usable information from any size of structured and unstructured datasets.
  7. P07 Administer or manage data science tools and techniques to organize and complete projects aimed at gaining useful insight from complex data.
  8. P08 Think critically and imaginatively, conceiving real-world issues from several angles, and work well in a variety of teams to solve issues cooperatively.
  9. P09 Be able to effectively integrate data‐based solutions into the user environment and help non-technical professionals in exploring, visualizing, and using these solutions
  10. P10 Understand their obligations under professional and ethical standards in relation to matters like data ownership and citation, data security and sensitivity and the privacy implications of data analysis.

Po-Lo Matrix

LO P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 Average
L01 3 4 4 3 2 0 0 0 0 0 1.6
L01 0 0 0 0 0 5 4 0 3 3 1.5
L01 - - - - - - - - - - -
L01 - - - - - - - - - - -
L02 4 4 0 0 3 3 2 0 0 0 1.6
L02 - - - - - - - - - - -
L02 - - - - - - - - - - -
L03 3 0 0 0 0 4 3 0 2 1 1.3
L03 - - - - - - - - - - -
L03 - - - - - - - - - - -
L04 3 4 0 0 0 3 0 0 2 0 1.2
L04 - - - - - - - - - - -
L04 - - - - - - - - - - -
L05 4 4 0 0 3 3 0 0 0 0 1.4
L05 - - - - - - - - - - -
L05 - - - - - - - - - - -
L06 - - - - - - - - - - -
L06 - - - - - - - - - - -
L07 - - - - - - - - - - -
L07 0 5 5 4 3 0 0 2 0 0 1.9
L07 - - - - - - - - - - -