· To teach the basic concepts of Object-oriented Programming and application with Python language
· To give students the confidence to write Python program for their applications
Prerequisite(s)
IE2002 - Introduction to Programming
Corequisite(s)
None
Special Requisite(s)
The minimum qualifications that are expected from the students who want to attend the course.(Examples: Foreign language level, attendance, known theoretical pre-qualifications, etc.)
Instructor(s)
Professor Ayça Çakmak Pehlivanlı
Course Assistant(s)
Res. Ass. Abdullah Osman,
Res. Ass. Ezgi Yıldırım Arslan
Schedule
This course is not offered in this semester.
Office Hour(s)
This course is not offered in this semester.
Teaching Methods and Techniques
--Lectures are presented by using power point slides, problems related to each chapter are solved in lab sessions, students are forced to study individually by assigning home works.
Principle Sources
- Intro to Python for Computer Science and Data Science, Paul J. Deitel; Harvey Deitel, Print ISBN: 9780135404676, 0135404673, eText ISBN: 9780135404812, 0135404819, Edition: 1st, Copyright year: 2020, Pearson
- Python Crash Course: A Hands-On, Project-Based Introduction to Programming, Eric Matthes, ISBN-10: 1-59327-603-6, ISBN-13: 978-1-59327-603-4.
- Python Programming_ An Introduction to Computer Science 3rd Edition, John Zelle, 3rd Ed. ISBN 1590280288, ISBN13: 9781887902991.
Other Sources
-
Course Schedules
Week
Contents
Learning Methods
1. Week
Introducing the Syllabus of the course
Introduction to Python Programming Language, Thonny IDE setup and usage
Oral Presentation
2. Week
Review: Modular/Procedural programming: Functions, Data Types
Oral Presentation
3. Week
Array-Oriented Programming with NumPy
Oral Presentation
4. Week
Files and Exceptions
Oral Presentation
5. Week
Data Visualization
Oral Presentation
6. Week
Why Object Oriented Programming? General OOP Concept (Encapsulation, Inheritance, Polymorphism)
Oral Presentation
7. Week
Classes and Objects - Constructor
Oral Presentation
8. Week
Midterm Exam
9. Week
Classes and Objects – Encapsulation, information hiding
Oral Presentation
10. Week
Classes and Objects - Inheritence
Oral Presentation
11. Week
Polymorphism
Oral Presentation
12. Week
Abstraction
Oral Presentation
13. Week
Polymorphism, Abstract Class, Abstract Method
Oral Presentation
14. Week
Review, Project development
Oral Presentation
15. Week
Final
16. Week
Final
17. Week
Final
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
25
Laboratory
1
40
Final Exam
1
35
Program Outcomes
PO-1
Ability to apply theoretical and practical knowledge gained by Mathematics, Science and their engineering fields and ability to use their knowledge in solving complex engineering problems.
PO-2
Ability of determining, defining, formulating and solving complex engineering problems; for that purpose develop the ability of selecting and implementing suitable models and methods of analysis.
PO-3
Ability of designing a complex system, process, device or product under real world constraints and conditions serving certain needs; for this purpose ability of applying modern design techniques
PO-4
Ability of selecting and using the modern techniques and devices which are necessary for analyzing and solving complex problems in engineering implementations; ability of efficient usage of information technologies.
PO-5
Ability of designing experiments, conducting tests, collecting data and analyzing and interpreting the solutions to investigate of complex engineering problems or discipline-specific research topics.
PO-6
Ability of working efficiently in intra-disciplinary and multi-disciplinary teams; individual working ability and habits.
PO-7
Ability of verbal and written communication skills; and at least one foreign language skills, ability to write effective reports and understand written reports, ability to prepare design and production reports, ability to make impressive presentation, ability to give and receive clear and understandable instructions
PO-8
Awareness of importance of lifelong learning; ability to access data, to follow up the recent innovation in science and technology for continuous self-improvement.
PO-9
Conformity to ethical principles; knowledge about occupational and ethical responsibility, and standards used in engineering applications.
PO-10
Knowledge about work life implementations such as project management, risk management and change management; awareness about entrepreneurship and innovativeness; knowledge about sustainable development.
PO-11
Knowledge about effects of engineering applications on health, environment and security in global and social dimensions, and on the problems of the modern age in engineering; awareness about legal outcomes of engineering solutions.
Learning Outcomes
LO-1
Understand the basics of Python programming language
LO-2
Understand the principles of encapsulating, information hiding, inheritance etc.
LO-3
Acknowledge data abstraction concept and types of abstract data