|
COM1003 | Programming - I | 3+0+0 | ECTS:5 | Year / Semester | Fall Semester | Level of Course | First Cycle | Status | Compulsory | Department | DEPARTMENT of COMPUTER ENGINEERING | Prerequisites and co-requisites | None | Mode of Delivery | | Contact Hours | 14 weeks - 3 hours of lectures per week | Lecturer | Doç. Dr. Selen AYAS | Co-Lecturer | DOCTOR LECTURER Selçuk CEVHER | Language of instruction | | Professional practise ( internship ) | None | | The aim of the course: | To teach general computer science and basic programming principles. For this purpose, algorithm design and program writing in Python programming language will be taught. How to analyse the problem will be explained and the mechanisms used in writing programs will be introduced. |
Learning Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | LO - 1 : | Understand the fundamentals of computer science | 2,3,4,6 | 1,6 | LO - 2 : | Build a program flow diagram and understand the basic structure of C programs | 2,3,4,6 | 1,6 | LO - 3 : | Have knowledge on loops and decision mechanism to control operation of program. | 2,3,4,6 | 1,6 | LO - 4 : | Gains the ability to create algorithms and flowcharts. | 2,3,4,6 | 1,6 | CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome | |
Algorithms, Flow Diagrams, Data and Programming, Computer Architecture, Programming Languages, Software Engineering, Data Abstraction, Theory of Computation |
|
Course Syllabus | Week | Subject | Related Notes / Files | Week 1 | Introduction to Computer Science, The Role of Algorithms | | Week 2 | The Role of Algorithms, The History of Computing | | Week 3 | Data and Programming | | Week 4 | Computer Architecture, Machine Language, Program Execution, Arithmetic/Logic Instructions | | Week 5 | Communicating with Other Devices, Programming Data Manipulation, Other Architectures
| | Week 6 | The Concept of an Algorithm, Algorithm Representation, Algorithm Discovery, Iterative Structures | | Week 7 | Recursive Structures, Efficiency and Correctness | | Week 8 | Mid-term exam | | Week 9 | Historical Perspective, Traditional Programming Concepts, Procedural Units, Language Implementation | | Week 10 | Object-Oriented Programming, Programming Concurrent Activities, Declarative Programming | | Week 11 | The Software Engineering Discipline, The Software Life Cycle, Software Engineering Methodologies, Modularity, Tools of the Trade | | Week 12 | Quality Assurance, Documentation, The Human-Machine Interface, Software Ownership and Liability | | Week 13 | Basic Data Structures, Related Concepts, Implementing Data Structures, A Short Case Study | | Week 14 | Customized Data Types, Classes and Objects, Pointers in Machine Language | | Week 15 | Theory of Computation, Functions and Their Computation, Turing Machines, Universal Programming Languages, A Noncomputable Function, Complexity of Problems | | Week 16 | End-of-term exam | | |
1 | Brookshear, J. G., Brylow, D. 2019; Computer Science An Overview, Pearson, 13th Edition | | |
Method of Assessment | Type of assessment | Week No | Date | Duration (hours) | Weight (%) | Mid-term exam | 9 | | 2 | 50 | End-of-term exam | 16 | | 2 | 50 | |
Student Work Load and its Distribution | Type of work | Duration (hours pw) | No of weeks / Number of activity | Hours in total per term | Yüz yüze eğitim | 3 | 14 | 42 | Sınıf dışı çalışma | 1 | 14 | 14 | Arasınav için hazırlık | 5 | 1 | 5 | Arasınav | 2 | 1 | 2 | Uygulama | 2 | 14 | 28 | Dönem sonu sınavı için hazırlık | 14 | 1 | 14 | Dönem sonu sınavı | 2 | 1 | 2 | Total work load | | | 107 |
|