Clone of Course Detail
Course Detail
Course Description
| Course | Code | Semester | T+P (Hour) | Credit | ECTS |
|---|---|---|---|---|---|
| INTRODUCION to PROGRAMMING | END1217449 | Spring Semester | 3+2 | 4 | 6 |
| Course Program |
| Prerequisites Courses | |
| Recommended Elective Courses |
| Language of Course | Turkish |
| Course Level | First Cycle (Bachelor's Degree) |
| Course Type | Required |
| Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
| Name of Lecturer(s) | Prof.Dr. Selim AKYOKUŞ, Malik GEYLANİ |
| Assistant(s) | |
| Aim | This course introduces fundamentals of programming, problem solving and algorithm development for students with little or no prior programming experience using Pyhton programming language. The objective of this course is to prepare students for more advanced programming courses as well as providing an understanding of computation in problem solving and engineering as a self-contained course for those students who want to write programs for their studies and professional work. The course emphasizes structured programming, algorithmic and object thinking in a problem-driven way after teaching fundamental concepts and structures. Topics include an introduction to computers, programming languages and Pyhton; elementary programming, selections, data types, strings, iteration, functions, GUIs (graphical user interfaces), objects and classes, inheritance and polymorphism, lists (arrays) and multidimensional lists, sets and dictionaries, files, exceptions and recursion. Weekly laboratories and assignments with different problems, practice and coding exercises will improve student's capabilities and fluency in programming. |
| Course Content | This course contains; Introduction to Computers, Programming, and Python,Elementary Programming,Mathematical Functions, Strings, and Objects,Selection statements,Loops,Loops,Functions,Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries,Basic GUI Programming,Advanced GUI Programming,Inheritance and Polymorphism,Files and Exception Handling,Recursion,Developing Efficient Algorithms. |
| Course Learning Outcomes | Teaching Methods | Assessment Methods |
| Analyze and design strategies for solving basic programming problems. | 12, 14, 16, 17, 9 | A, E, F |
| Learn how to use files, exceptions and build GUIs. | 12, 14, 16, 17, 2, 9 | A, E, F |
| Develop custom classes using encapsulation, polymorphism, inheritance, and abstraction. | 12, 14, 16, 17, 2, 9 | A, E, F |
| Understand the differences between procedural and object-oriented paradigms. | 12, 14, 17, 9 | A, E, F |
| Use control statements, loops, functions, and lists. | 12, 14, 17, 9 | A, E, F |
| Understand programming concepts and techniques using Python Language. | 12, 16, 9 | A, E |
| Teaching Methods: | 12: Problem Solving Method, 14: Self Study Method, 16: Question - Answer Technique, 17: Experimental Technique, 2: Project Based Learning Model, 9: Lecture Method |
| Assessment Methods: | A: Traditional Written Exam, E: Homework, F: Project Task |
Course Outline
| Order | Subjects | Preliminary Work |
|---|---|---|
| 1 | Introduction to Computers, Programming, and Python | |
| 2 | Elementary Programming | |
| 3 | Mathematical Functions, Strings, and Objects | |
| 4 | Selection statements | |
| 5 | Loops | |
| 6 | Loops | |
| 7 | Functions | |
| 8 | Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries | |
| 9 | Basic GUI Programming | |
| 10 | Advanced GUI Programming | |
| 11 | Inheritance and Polymorphism | |
| 12 | Files and Exception Handling | |
| 13 | Recursion | |
| 14 | Developing Efficient Algorithms |
| Resources |
| - Y. Daniel Liang, Introduction to Programming Using Python, 2nd Ed., Pearson, 2019. - Allen B. Downey, Think Python How to Think Like a Computer Scientist 2nd Ed., OReilly Media, 2015. |
| Lecture notes that will be delivered during the classes. |
Course Contribution to Program Qualifications
| Course Contribution to Program Qualifications | |||||||
| No | Program Qualification | Contribution Level | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
| 2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | X | |||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi | X | |||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
| 5 | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | X | |||||
| 6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | X | |||||
| 7 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | X | |||||
| 8 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | X | |||||
| 9 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | X | |||||
| 10 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi | X | |||||
| 11 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | X | |||||
Assessment Methods
| Contribution Level | Absolute Evaluation | |
| Rate of Midterm Exam to Success | 30 | |
| Rate of Final Exam to Success | 70 | |
| Total | 100 | |
| ECTS / Workload Table | ||||||
| Activities | Number of | Duration(Hour) | Total Workload(Hour) | |||
| Course Hours | 42 | 1 | 42 | |||
| Guided Problem Solving | 10 | 7 | 70 | |||
| Resolution of Homework Problems and Submission as a Report | 8 | 3 | 24 | |||
| Term Project | 0 | 0 | 0 | |||
| Presentation of Project / Seminar | 0 | 0 | 0 | |||
| Quiz | 2 | 5 | 10 | |||
| Midterm Exam | 1 | 22 | 22 | |||
| General Exam | 1 | 22 | 22 | |||
| Performance Task, Maintenance Plan | 0 | 0 | 0 | |||
| Total Workload(Hour) | 190 | |||||
| Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(190/30) | 6 | |||||
| ECTS of the course: 30 hours of work is counted as 1 ECTS credit. | ||||||
Detail Informations of the Course
Course Description
| Course | Code | Semester | T+P (Hour) | Credit | ECTS |
|---|---|---|---|---|---|
| INTRODUCION to PROGRAMMING | END1217449 | Spring Semester | 3+2 | 4 | 6 |
| Course Program |
| Prerequisites Courses | |
| Recommended Elective Courses |
| Language of Course | Turkish |
| Course Level | First Cycle (Bachelor's Degree) |
| Course Type | Required |
| Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
| Name of Lecturer(s) | Prof.Dr. Selim AKYOKUŞ, Malik GEYLANİ |
| Assistant(s) | |
| Aim | This course introduces fundamentals of programming, problem solving and algorithm development for students with little or no prior programming experience using Pyhton programming language. The objective of this course is to prepare students for more advanced programming courses as well as providing an understanding of computation in problem solving and engineering as a self-contained course for those students who want to write programs for their studies and professional work. The course emphasizes structured programming, algorithmic and object thinking in a problem-driven way after teaching fundamental concepts and structures. Topics include an introduction to computers, programming languages and Pyhton; elementary programming, selections, data types, strings, iteration, functions, GUIs (graphical user interfaces), objects and classes, inheritance and polymorphism, lists (arrays) and multidimensional lists, sets and dictionaries, files, exceptions and recursion. Weekly laboratories and assignments with different problems, practice and coding exercises will improve student's capabilities and fluency in programming. |
| Course Content | This course contains; Introduction to Computers, Programming, and Python,Elementary Programming,Mathematical Functions, Strings, and Objects,Selection statements,Loops,Loops,Functions,Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries,Basic GUI Programming,Advanced GUI Programming,Inheritance and Polymorphism,Files and Exception Handling,Recursion,Developing Efficient Algorithms. |
| Course Learning Outcomes | Teaching Methods | Assessment Methods |
| Analyze and design strategies for solving basic programming problems. | 12, 14, 16, 17, 9 | A, E, F |
| Learn how to use files, exceptions and build GUIs. | 12, 14, 16, 17, 2, 9 | A, E, F |
| Develop custom classes using encapsulation, polymorphism, inheritance, and abstraction. | 12, 14, 16, 17, 2, 9 | A, E, F |
| Understand the differences between procedural and object-oriented paradigms. | 12, 14, 17, 9 | A, E, F |
| Use control statements, loops, functions, and lists. | 12, 14, 17, 9 | A, E, F |
| Understand programming concepts and techniques using Python Language. | 12, 16, 9 | A, E |
| Teaching Methods: | 12: Problem Solving Method, 14: Self Study Method, 16: Question - Answer Technique, 17: Experimental Technique, 2: Project Based Learning Model, 9: Lecture Method |
| Assessment Methods: | A: Traditional Written Exam, E: Homework, F: Project Task |
Course Outline
| Order | Subjects | Preliminary Work |
|---|---|---|
| 1 | Introduction to Computers, Programming, and Python | |
| 2 | Elementary Programming | |
| 3 | Mathematical Functions, Strings, and Objects | |
| 4 | Selection statements | |
| 5 | Loops | |
| 6 | Loops | |
| 7 | Functions | |
| 8 | Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries | |
| 9 | Basic GUI Programming | |
| 10 | Advanced GUI Programming | |
| 11 | Inheritance and Polymorphism | |
| 12 | Files and Exception Handling | |
| 13 | Recursion | |
| 14 | Developing Efficient Algorithms |
| Resources |
| - Y. Daniel Liang, Introduction to Programming Using Python, 2nd Ed., Pearson, 2019. - Allen B. Downey, Think Python How to Think Like a Computer Scientist 2nd Ed., OReilly Media, 2015. |
| Lecture notes that will be delivered during the classes. |
Course Contribution to Program Qualifications
| Course Contribution to Program Qualifications | |||||||
| No | Program Qualification | Contribution Level | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
| 2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | X | |||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi | X | |||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
| 5 | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | X | |||||
| 6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | X | |||||
| 7 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | X | |||||
| 8 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | X | |||||
| 9 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | X | |||||
| 10 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi | X | |||||
| 11 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | X | |||||
Assessment Methods
| Contribution Level | Absolute Evaluation | |
| Rate of Midterm Exam to Success | 30 | |
| Rate of Final Exam to Success | 70 | |
| Total | 100 | |