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
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 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
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 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:42Son Güncelleme Tarihi: 09/10/2023 - 10:43