Foundations of Programming (Python)
An introductory learning path to programming, using python.
Exploring the logical part (how to think like a Programmer).
Explaining the technical part (how to speak “Computer”).
Table of Contents
What this learning path is
What this learning path is not
Objective of this learning path
Formats of this learning path
Modules materials collection
What this learning path is
- A rapid and practical introduction to computer programming and application development.
- For learners with little or no programming experience.
- For learners who would benefit from a refresher learning path.
- For learners looking to explore if programming “is for them”.
- Exploring fundamental components and constructs of computer programming.
- Exploring the logic of programming.
- Exploring different programming paradigms.
What this learning path is NOT
- This learning path is not a python course - It will use python as a tool and focus not only on the syntax, but also the logic of programming.
- This learning path will not adhere python conventions - It will introduce many valid conventions found throughout the software industry.
Objective of this learning path
Learners completing this learning path will be able to:
- demonstrate basic computer programming concepts.
- explain the software design process, including consideration of some common design trade-offs.
- program in a modern programming language.
- create non-trivial programs in Python.
- recognize programming paradigms and concepts.
the referenced written materials are not available in the free format.
- youtube module videos
- these github documents
asking for voluntary contributions: Saravji’s Hut - Patreon Page
In development
University of Washington: Foundations of Programming - Online with Realtime meetings
- approx. 300 pages of accompanying learning path text materials.
- additional video content
- curated list of additional referenced sources.
- written and programming assignments (graded and with feedback)
- weekly Instructor led online classroom.
- Instructor and Teaching Assistant available for mentoring.
Modules and materials collection
- Module 01 Programming Basics, Setting up and Basics of Python, “Hello World” Application.
- Module 02 Python IDLE; Build-in functions, operators and data types.
- Module 03 Spyder IDE; Operators, functions & expressions. If statements, while loops, file access and program arguments.
- Module 04 Loops, Sequences. Strings, Tuples, Ranges and Lists. Writing Data to files. Multidimensional data constructs.
- Module 05 Lists, Dictionaries. Separation of Concerns. Error handling, functions and script templates. Git and GitHub.
- Module 06 Functions and Classes. Variable Scope and DocString.
- Module 07 Structured error handling, read / write text files and binary files. Markup language.
- Module 08 Introduction to Software Objects: Classes and Objects, Constructors, Fields, Attributes and Methods. Typehints and Docstring.
- Module 09 expand OOP: Create Modules to organize classes and functions. Linking modules, classes working with each other. Inheritance and UML
Back to Saravji’s Hut
Terms of use
Terms as outlined on main page are applicable.