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
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
- 01 Learn and enhance basics of algorithms - pseudocodes and flowcharts.
- 02 Improve computer programming abilities with arrays, structures, pointers, strings.
- 03 Implement popular searching and sorting algorithms.
- 04 Learn how to program using structured data.
- 05 Develop computer programs including file processing.
- 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
- 01 John V. Guttag, Introduction to Computation and Programming Using Python, Third Edition, The MIT Press, 2021.
- 02 Thomas H. Cormen, Algorithms Unlocked, First Edition, The MIT Press, 2013.
Learning Outcomes
- L01 Describe different types of algorithms. SOLO 3
- L01 Construct files in Python. SOLO 4
- L01 Describe different types of algorithms. SOLO 4
- L01 Describe different types of algorithms. SOLO 3
- L02 Implement sorting algorithms in Python. SOLO 4
- L02 Implement sorting algorithms in Python. SOLO 4
- L02 Implement sorting algorithms in Python. SOLO 4
- L03 Construct dictionaries in Python. SOLO 4
- L03 Construct dictionaries in Python. SOLO 4
- L03 Construct dictionaries in Python. SOLO 4
- L04 Perform string operation in Python. SOLO 4
- L04 Perform string operation in Python. SOLO 4
- L04 Perform string operation in Python. SOLO 4
- L05 Implement searching algorithms in Python. SOLO 4
- L05 Implement searching algorithms in Python. SOLO 4
- L05 Implement searching algorithms in Python. SOLO 4
- L06 Construct files in Python. SOLO 4
- L06 Construct files in Python. SOLO 4
- L07 Analyze algorithm complexity. SOLO 4
- L07 Analyze algorithm complexity. SOLO 4
- L07 Analyze algorithm complexity. SOLO 4
Program Outcomes
- P01 Create a user interface in a contemporary object-oriented language to allow users to access business data
- P02 Identify and analyze user needs and take them into account in the selection, creation, integration, evaluation and administration of computing-based systems
- P03 Analyze common business functions and identify, design, and develop appropriate information technology solutions
- P04 Design and develop software solutions for contemporary business environments by employing appropriate problem-solving strategies
- P05 Configure and administer database server to support contemporary business environments.
- P06 Administer or mange a relational database for a small to medium size company
- P07 Be able to effectively integrate IT-based solutions into the user environment
- P08 Understand professional, ethical, legal, security and social issues and responsibilities
- P09 Be able to apply effective communication skills consistent with the professional environment
- P10 Be able to apply effective collaboration skills in teamwork consistent with the professional environment
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L01 | 3 | 3 | 3 | 4 | 0 | 0 | 3 | 0 | 0 | 0 | 1.6 |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | 4 | 4 | 0 | 5 | 0 | 0 | 4 | 0 | 0 | 0 | 1.7 |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | 4 | 4 | 0 | 5 | 0 | 0 | 4 | 0 | 0 | 0 | 1.7 |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | 3 | 3 | 0 | 4 | 0 | 0 | 3 | 0 | 0 | 0 | 1.3 |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | 4 | 4 | 0 | 5 | 0 | 0 | 4 | 0 | 0 | 0 | 1.7 |
| L06 | - | - | - | - | - | - | - | - | - | - | - |
| L06 | 4 | 4 | 0 | 5 | 0 | 0 | 4 | 0 | 0 | 0 | 1.7 |
| L07 | 3 | 4 | 3 | 5 | 0 | 0 | 4 | 0 | 0 | 0 | 1.9 |
| L07 | - | - | - | - | - | - | - | - | - | - | - |
| L07 | - | - | - | - | - | - | - | - | - | - | - |