Course Detail
Course Description
Course | Code | Semester | T+P (Hour) | Credit | ECTS |
---|---|---|---|---|---|
INTRODUCTION to PROGRAMMING | - | Fall Semester | 3+2 | 4 | 6 |
Course Program |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
Name of Lecturer(s) | Prof.Dr. Selim AKYOKUŞ, Lect. Malek Jamal Abdulah MALKAWI |
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. |
Dersin Öğrenme Kazanımları | Teaching Methods | Assessment Methods |
Understand programming concepts and techniques using Python Language. | 12, 16, 9 | A, E |
Use control statements, loops, functions, and lists. | 12, 14, 17, 9 | A, E, F |
Understand the differences between procedural and object-oriented paradigms. | 12, 14, 17, 9 | A, E, F |
Develop custom classes using encapsulation, polymorphism, inheritance, and abstraction. | 12, 14, 16, 17, 2, 9 | A, E, F |
Learn how to use files, exceptions and build GUIs. | 12, 14, 16, 17, 2, 9 | A, E, F |
Analyze and design strategies for solving basic programming problems. | 12, 14, 16, 17, 9 | A, E, F |
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 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | X | |||||
6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | X | |||||
7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | X | |||||
8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | X | |||||
9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | X | |||||
10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | X | |||||
11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. | 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 |
---|---|---|---|---|---|
INTRODUCTION to PROGRAMMING | - | Fall Semester | 3+2 | 4 | 6 |
Course Program |
Prerequisites Courses | |
Recommended Elective Courses |
Language of Course | English |
Course Level | First Cycle (Bachelor's Degree) |
Course Type | Required |
Course Coordinator | Prof.Dr. Selim AKYOKUŞ |
Name of Lecturer(s) | Prof.Dr. Selim AKYOKUŞ, Lect. Malek Jamal Abdulah MALKAWI |
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. |
Dersin Öğrenme Kazanımları | Teaching Methods | Assessment Methods |
Understand programming concepts and techniques using Python Language. | 12, 16, 9 | A, E |
Use control statements, loops, functions, and lists. | 12, 14, 17, 9 | A, E, F |
Understand the differences between procedural and object-oriented paradigms. | 12, 14, 17, 9 | A, E, F |
Develop custom classes using encapsulation, polymorphism, inheritance, and abstraction. | 12, 14, 16, 17, 2, 9 | A, E, F |
Learn how to use files, exceptions and build GUIs. | 12, 14, 16, 17, 2, 9 | A, E, F |
Analyze and design strategies for solving basic programming problems. | 12, 14, 16, 17, 9 | A, E, F |
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 | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in the solution of complex engineering problems. | X | |||||
2 | Ability to formulate, and solve complex engineering problems; ability to select and apply proper analysis and modeling methods for this purpose. | X | |||||
3 | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose. | X | |||||
4 | Ability to select and use modern techniques and tools needed for analyzing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively. | X | |||||
5 | Ability to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or discipline specific research questions. | X | |||||
6 | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | X | |||||
7 | Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions. | X | |||||
8 | Awareness of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | X | |||||
9 | Knowledge on behavior according ethical principles, professional and ethical responsibility and standards used in engineering practices. | X | |||||
10 | Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development. | X | |||||
11 | Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions. | X |
Assessment Methods
Contribution Level | Absolute Evaluation | |
Rate of Midterm Exam to Success | 30 | |
Rate of Final Exam to Success | 70 | |
Total | 100 |