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.
- 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)
- Python for Computational Science and Engineering (html, html)
|Evaluation Tool||Weight in %|
|1||Introduction to Computers, Programming, and Python|
|3||Mathematical Functions, Strings, and Objects|
|7||Objects and Classes|
|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|