Skip to main content

Course Detail

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
INTRODUCTION to PROGRAMMING -Fall Semester3+246
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorProf.Dr. Selim AKYOKUŞ
Name of Lecturer(s)Prof.Dr. Selim AKYOKUŞ
Assistant(s)
AimThis 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 ContentThis 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 MethodsAssessment Methods
Understand programming concepts and techniques using Python Language.12, 16, 9A, E
Use control statements, loops, functions, and lists.12, 14, 17, 9A, E, F
Understand the differences between procedural and object-oriented paradigms.12, 14, 17, 9A, E, F
Develop custom classes using encapsulation, polymorphism, inheritance, and abstraction.12, 14, 16, 17, 2, 9A, E, F
Learn how to use files, exceptions and build GUIs.12, 14, 16, 17, 2, 9A, E, F
Analyze and design strategies for solving basic programming problems.12, 14, 16, 17, 9A, 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

OrderSubjectsPreliminary Work
1Introduction to Computers, Programming, and Python
2Elementary Programming
3Mathematical Functions, Strings, and Objects
4Selection statements
5Loops
6Loops
7Functions
8Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries
9Basic GUI Programming
10Advanced GUI Programming
11Inheritance and Polymorphism
12Files and Exception Handling
13Recursion
14Developing 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
NoProgram QualificationContribution Level
12345
1
1. An ability to apply knowledge of mathematics, science, and engineering
X
2
2. An ability to identify, formulate, and solve engineering problems
X
3
3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
X
4
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
X
6
6. An ability to function on multidisciplinary teams
X
7
7. An ability to communicate effectively
X
8
8. A recognition of the need for, and an ability to engage in life-long learning
X
9
9. An understanding of professional and ethical responsibility
X
10
10. A knowledge of contemporary issues
X
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
X

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100
ECTS / Workload Table
ActivitiesNumber ofDuration(Hour)Total Workload(Hour)
Course Hours42142
Guided Problem Solving10770
Resolution of Homework Problems and Submission as a Report8324
Term Project000
Presentation of Project / Seminar000
Quiz2510
Midterm Exam12222
General Exam12222
Performance Task, Maintenance Plan000
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

CourseCodeSemesterT+P (Hour)CreditECTS
INTRODUCTION to PROGRAMMING -Fall Semester3+246
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of CourseEnglish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorProf.Dr. Selim AKYOKUŞ
Name of Lecturer(s)Prof.Dr. Selim AKYOKUŞ
Assistant(s)
AimThis 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 ContentThis 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 MethodsAssessment Methods
Understand programming concepts and techniques using Python Language.12, 16, 9A, E
Use control statements, loops, functions, and lists.12, 14, 17, 9A, E, F
Understand the differences between procedural and object-oriented paradigms.12, 14, 17, 9A, E, F
Develop custom classes using encapsulation, polymorphism, inheritance, and abstraction.12, 14, 16, 17, 2, 9A, E, F
Learn how to use files, exceptions and build GUIs.12, 14, 16, 17, 2, 9A, E, F
Analyze and design strategies for solving basic programming problems.12, 14, 16, 17, 9A, 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

OrderSubjectsPreliminary Work
1Introduction to Computers, Programming, and Python
2Elementary Programming
3Mathematical Functions, Strings, and Objects
4Selection statements
5Loops
6Loops
7Functions
8Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries
9Basic GUI Programming
10Advanced GUI Programming
11Inheritance and Polymorphism
12Files and Exception Handling
13Recursion
14Developing 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
NoProgram QualificationContribution Level
12345
1
1. An ability to apply knowledge of mathematics, science, and engineering
X
2
2. An ability to identify, formulate, and solve engineering problems
X
3
3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
X
4
4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
X
5
5. An ability to design and conduct experiments, as well as to analyze and interpret data
X
6
6. An ability to function on multidisciplinary teams
X
7
7. An ability to communicate effectively
X
8
8. A recognition of the need for, and an ability to engage in life-long learning
X
9
9. An understanding of professional and ethical responsibility
X
10
10. A knowledge of contemporary issues
X
11
11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
X

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 30
Rate of Final Exam to Success 70
Total 100

Numerical Data

Student Success

Ekleme Tarihi: 09/10/2023 - 10:50Son Güncelleme Tarihi: 09/10/2023 - 10:51