Computer Programming
Course Details

KTO KARATAY UNIVERSITY
Trade and Industry Vocational School
Programme of Computer Programming
Course Details
Trade and Industry Vocational School
Programme of Computer Programming
Course Details

| Course Code | Course Name | Year | Period | Semester | T+A+L | Credit | ECTS |
|---|---|---|---|---|---|---|---|
| 03841201 | Advanced Computer Programming | 2 | Spring | 4 | 2+1+0 | 5 | 5 |
| Course Type | Elective |
| Course Cycle | Associate (Short Cycle) (TQF-HE: Level 5 / QF-EHEA: Short Cycle / EQF-LLL: Level 5) |
| Course Language | Turkish |
| Methods and Techniques | - |
| Mode of Delivery | Face to Face |
| Prerequisites | - |
| Coordinator | - |
| Instructor(s) | Lect. Abubakar MAYANJA |
| Instructor Assistant(s) | - |
Course Instructor(s)
| Name and Surname | Room | E-Mail Address | Internal | Meeting Hours |
|---|---|---|---|---|
| Lect. Abubakar MAYANJA | TSMYO-T213 | [email protected] | 7829 | Wednesday 12:00 - 01:00 |
Course Content
Temel Python Yapıları (Değişkenler, döngüler, koşullu ifadeler, fonksiyonlar) / Nesne Yönelimli Programlama
Objectives of the Course
The purpose of the course is to enable the students to use their python abilities in different areas.
Contribution of the Course to Field Teaching
| Basic Vocational Courses | |
| Specialization / Field Courses | X |
| Support Courses | |
| Transferable Skills Courses | X |
| Humanities, Communication and Management Skills Courses |
Relationships between Course Learning Outcomes and Program Outcomes
| Relationship Levels | ||||
| Lowest | Low | Medium | High | Highest |
| 1 | 2 | 3 | 4 | 5 |
| # | Program Learning Outcomes | Level |
|---|---|---|
| P11 | Creates algorithms and data structures and performs mathematical calculations. | 4 |
| P12 | Explains and applies web programming technologies. | 4 |
Course Learning Outcomes
| Upon the successful completion of this course, students will be able to: | |||
|---|---|---|---|
| No | Learning Outcomes | Outcome Relationship | Measurement Method ** |
| O1 | Knows the basic elements of a computer. | P.1.1 | 7 |
| O2 | Knows how to use the internet and do research. | P.1.2 | 3 |
| O3 | To be able to define the basic concepts of information technologies and computer systems and to explain the relationships between these concepts. | P.20.1 | 1 |
| O4 | Ability to effectively use basic software applications (e.g. presentation software, etc.) and prepare professional documents with these tools. | P.20.2 | 7 |
| O5 | Developing the ability to search for information, access information and share information securely using the Internet and web technologies. | P.20.3 | 3 |
| O6 | Being aware of data security, ethics and privacy issues and being able to apply these principles. | P.20.4 | 4 |
| O7 | Ability to write simple programs by understanding computer programming and algorithm logic at a basic level. | P.20.5 | 7 |
| O8 | Understand the applications of information technologies in different disciplines and evaluate the potential impacts of these technologies. | P.20.6 | 1 |
| ** Written Exam: 1, Oral Exam: 2, Homework: 3, Lab./Exam: 4, Seminar/Presentation: 5, Term Paper: 6, Application: 7 | |||
Weekly Detailed Course Contents
| Week | Topics |
|---|---|
| 1 | Collections and Iterators (Advanced use of lists, tuples, sets, and dictionaries Custom iterators and generators) |
| 2 | Data Classes: Introduction to data classes (dataclasses module) Comparison of data classes with traditional classes |
| 3 | Design Patterns(Singleton, Factory, Observer patterns Applying design patterns in Python) |
| 4 | (Object-Oriented Programming) Metaclasses and Decorators: Understanding metaclasses Creating and using decorators for functions and classes |
| 5 | (Functional Programming) Functional Programming Concepts: First-class functions, higher-order functions Lambda functions and list comprehensions |
| 6 | (Functional Programming) Modules and Packages Structuring Python projects Using and creating packages, virtual environments, and dependencies |
| 7 | Mid-Semester Exams |
| 8 | (Concurrency and Parallelism) :Threading and Multiprocessing Understanding the Global Interpreter Lock (GIL) Implementing threading and multiprocessing |
| 9 | (Error Handling and Testing) Exception Handling Advanced error handling techniques Creating custom exceptions |
| 10 | (Error Handling and Testing )Testing and Debugging Unit testing with unittest and pytest Test-driven development (TDD) concepts |
| 11 | (Web Development and APIs) Web Frameworks Overview of Flask or Django for web applications Building RESTful APIs with Flask |
| 12 | (Web Development and APIs) Consuming APIs Using requests library to consume web APIs Handling JSON data in Python |
| 13 | Data Processing and Visualization, Machine Learning Basics, Deployment and CI/CD Deploying Python applications (Docker, cloud platforms) Continuous integration and deployment practices |
| 14 | Final Exam |
Textbook or Material
| Resources | Programming Python, 4th Edition [Book] - O'Reilly |
| Fluent Python" by Luciano Ramalho, "Python Cookbook" by David Beazley, |
Evaluation Method and Passing Criteria
| In-Term Studies | Quantity | Percentage |
|---|---|---|
| Attendance | - | - |
| Laboratory | - | - |
| Practice | - | - |
| Field Study | - | - |
| Course Specific Internship (If Any) | - | - |
| Homework | 2 | 20 (%) |
| Presentation | - | - |
| Projects | - | - |
| Seminar | - | - |
| Quiz | - | - |
| Listening | - | - |
| Midterms | 1 | 30 (%) |
| Final Exam | 1 | 50 (%) |
| Total | 100 (%) | |
ECTS / Working Load Table
| Quantity | Duration | Total Work Load | |
|---|---|---|---|
| Course Week Number and Time | 14 | 4 | 56 |
| Out-of-Class Study Time (Pre-study, Library, Reinforcement) | 14 | 3 | 42 |
| Midterms | 1 | 15 | 15 |
| Quiz | 0 | 0 | 0 |
| Homework | 0 | 0 | 0 |
| Practice | 14 | 1 | 14 |
| Laboratory | 14 | 1 | 14 |
| Project | 0 | 0 | 0 |
| Workshop | 0 | 0 | 0 |
| Presentation/Seminar Preparation | 0 | 0 | 0 |
| Fieldwork | 0 | 0 | 0 |
| Final Exam | 1 | 15 | 15 |
| Other | 0 | 0 | 0 |
| Total Work Load: | 156 | ||
| Total Work Load / 30 | 5,20 | ||
| Course ECTS Credits: | 5 | ||
Course - Learning Outcomes Matrix
| Relationship Levels | ||||
| Lowest | Low | Medium | High | Highest |
| 1 | 2 | 3 | 4 | 5 |
| # | Learning Outcomes | P1 | P20 |
|---|---|---|---|
| O1 | Knows the basic elements of a computer. | 3 | - |
| O2 | Knows how to use the internet and do research. | 4 | - |
| O3 | To be able to define the basic concepts of information technologies and computer systems and to explain the relationships between these concepts. | - | 5 |
| O4 | Ability to effectively use basic software applications (e.g. presentation software, etc.) and prepare professional documents with these tools. | - | 5 |
| O5 | Developing the ability to search for information, access information and share information securely using the Internet and web technologies. | - | 5 |
| O6 | Being aware of data security, ethics and privacy issues and being able to apply these principles. | - | 5 |
| O7 | Ability to write simple programs by understanding computer programming and algorithm logic at a basic level. | - | 5 |
| O8 | Understand the applications of information technologies in different disciplines and evaluate the potential impacts of these technologies. | - | 3 |
