Design of computer algorithms with pseudo-code to solve problems, analyze engineering related problems using computer. Basic elements of a high level computer programming language: Data types, constants and variables, arithmetic and logical operators and expressions. Fundamental components of Python programming language: Storing and manipulating user-input data, design and use of selection structures, design and use of repetition structures, lists and other data structures, functions dictionaries and sets, file input/output. Explain the fundamental concepts of object-oriented programming and concept of a class: Define encapsulation, inheritance, and polymorphism
- Charles Dierbach, Computer Science using Python: A Computational Problem Solving Focus, Wiley, ISBN 978-0-470-55515-6
Indicative basic reading list:
- Eric Matthes, Python Crash Course: A Hands-on Project-based Introduction to Programming, ISBN-10: 1-59327-603-6
Topics covered and class schedule (tentative): (4 hours of lectures per week)
Week 1-2 Introduction to problem solving techniques, Algorithms and Pseudo Code
Week 3 Introduction to Python programming language: basic data types, constants and variables, basic operators and expressions.
Week 4 Data and Expressions: Writing code to store and manipulate user-input data.
Week 5-6 Control and repetition structures,
Week 7 Lists ans List comprehensions
Week 8 Functions
Week 9-10 Midterm
Week 11 Dictionaries and Sets
Week 12 File Input/Output
Week 13 Object Oriented Programming- Class Object Attributes and Methods
Week 14 Object Oriented Programming- Encapsulation, Inheritance, and Polymorphism
Assessment Method (tentative)
| || Midterm||1||35%|
|Lab + Lab final||7+1||20%|
Attendance to lectures:
Attendance will be taken in every lecture but will not be graded.
Attendance to labs: There is no makeup for labs. For a missed lab session, lab grade for that session will be taken as zero. If a student does not attend more than two lab sessions, his/her overall lab grade will be taken as zero.
Policy on makeups:
For eligibility to take a makeup exam, the student should bring (submit) a doctor's report within 3 working days of the missed exam. You will have only one make-up for midterm or final exams only. Make-up will be organized after final exam period and will cover all the materials covered during the semester.
Policy on cheating and plagiarism:
Any student caught cheating in exams or in any other graded course work will automatically fail from the course and may be sent to the disciplinary committee at the discretion of the instructor.
Policy on NG grades: NG grade will be given in case of Missing Midterm and Final without official excuse.