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.
knowledge to computer principles
Introduction to Programming Using Python, Y. Daniel Liang |
Think Python: How to Think Like a Computer Scientist, Allen Downey |
- Introduction to Computation and
Programming Using Python, John V. Guttag (html).
- Starting Out with Python, Global Edition, 4/E, Tony
Gaddis, Pearson, 2019 (html).
- Introduction to Programming in Python: An Interdisciplinary
Approach,
Robert Sedgewick, Kevin Wayne, Robert Dondero, Pearson, 2015. (html)
- Fundamentals of Programming Python, Richard L. Halterman, 2019 (PDF)
- Python Practice Book, Anand Chitipothu , (html)
-
Python Programming (html)
- A Practical Introduction to Python Programming (hmtl)
- w3schools Python Tutorial (html)
- tutorialspoint Learn Python (html)
- LearnPython.org (html)
- javaTPoint Python Tutorial (html)
- Programiz - Learn Python Programming (html)
Evaluation Tool | Weight |
---|---|
Programming Assignments | 10 % |
project | 20 % |
Exams - midterm - Final |
30 % 40% |
Total | 100% |
WEEK | TOPIC(S) |
---|---|
1 | Introduction to Computers, Programming, and Python |
2 | Elementary Programming |
3 | Mathematical Functions, Strings, and Objects |
4 | Selections |
5 | Loops |
6 | Functions |
7 | Objects and Classes |
8 | Exam Week |
9 | More on Strings and Special Methods, GUI Programming Using Tkinter I |
10 | GUI Programming Using Tkinter II |
11 | Lists, Multidimensional Lists, Tuples, Sets, and Dictionaries |
12 | Inheritance and Polymorphism |
13 | Files and Exception Handling, Recursion |
14 | Review |