Introduction to Programming: Python
What you'll learn
- Programming Fundamentals
- Python Programming
- Object-Oriented Programming
- Introductory Software Development
- Computer Science
- Procedural Programming
- Explicit Typing
- Implicit Typing
- Functional Programming
- Imperative Programming
- Generic Typing
- Dynamic Typing
Requirements
- Internet access
Description
In this course, students will learn elementary programming concepts with the Python (3) language, with an additional section studying Java and the relation between the two languages. Learning Python will allow students to develop the basic skills for functional and object-oriented programming and the fundamentals of polymorphism and imperative programming, as well as a short study on regular expressions. Students can use this knowledge to take on learning other higher-level languages such as C++, Swift, and C# (as well as scripting and scientific languages such as Octave, R, Julia, and Ruby) in an accelerated manner. The class will focus on building programming skills from fundamental keywords to high-level abstraction, in hopes that the student will then continue on to learn a high-level programming language afterward.
Students will learn the following aspects of programming using the Python language:
Section 1:
-Introduction, how to succeed in the course, setup
-What is Python, understanding programming
-Hello World and '__main__'
-Input and Output, Commenting and Docstrings
-Data Types, Arithmetic and Assignment Operators, Numerical Operations
-Strings and String Operations, ASCII
-String Formatting
-Type Conversion, In-Place and Walrus Operators
Section 2:
-PEP and The Zen of Python
-Boolean Expressions and Conditional Statements
-Chained and Nested Conditions
-Logic Operators
-Loops: for, while, 'range', 'in'
-Functions
-Recursion
-The Standard Library and pip
Section 3:
-Lists and List Functions
-List Slices and Matrices
-Dictionaries and Dictionary Functions
-Tuples and Tuple Unpacking
-The 'itertools' Library
-Sets and Set Functions
Section 4:
-Random Numbers, Math and Data Science Functions
-Exceptions and Raising Exceptions
-Exception Handling, 'finally'
-Assertions
-File I/O
-List Comprehensions and Ternary Operator
Section 5 - Regular Expressions:
-Character Matching
-Data Extraction, Combining Searching and Extracting
-The Escape Character and grep
Section 6 - Objected-Oriented Programming:
-Classes
-Properties and Modules
-Data Hiding and Dunder/Magic Methods
-Inheritance
-Class Methods and Static Methods
-Making a basic GUI with Tkinter
Section 7 - Functional Programming:
-Intro to Functional Programming, First-Class Functions
-Anonymous Functions and Lambda Expressions
-Iterators, Generators, and Decorators
-Higher-Order Functions, 'map' and 'filter'
-Using 'reduce'
-Advanced Function Arguments ('*args', '**kwargs')
Section 8 - Capstone:
-Final exam
-Capstone project
Optional textbooks:
-"Practical Programming: An Introduction to Computer Science Using Python 3" by Paul Gries, Jennifer Campbell, and Jason Montojo (Various prices by format and rental, very cheap on Amazon)
-"Python for Everybody: Exploring Data in Python 3" by Charles Severance (Various prices by format and rental, very cheap on Amazon)
-"Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming, 2nd Edition" by Eric Matthes (Various prices by format)
Who this course is for:
- Students interested in learning programming with any level of experience, but especially beginners or anyone unfamiliar with Python as well.
Instructor
Computer Science, Choral Music, and General Music/Theory Teacher
-Ph.D. Artificial Intelligence, CapTechU (2022-2024)
-M.S. Computer Science, UWW (2020-2022)
-G.C. Graduate Certificate - Applied Bioinformatics, UWGB (2022-2023)
-B.M. Music Education - Choral Emphasis and Computer Science, Web Development/Administration, UWW (2017-2021)
-A.A.S. Arts and Sciences - General Studies, UWM (2021)
Director of choral and orchestral music, vocalist, pianist, cellist, guitarist, bassist, and computer scientist/engineer. Growing researcher in the field of computer science, particularly machine learning and artificial intelligence, as well as algorithmic theory.
You can view my courses of interest here:
http://danielszelogowski DOT com/education.php#whatiteach
Parent testimonials (from Outschool):
Sandra R. about Intermediate C# Programming/Data Structures and Algorithms: My daughter loved this mini course in Programming. It was detailed, interactive and fun. I’m astonished at how much was taught. This is a great class; Awesome teacher!
Nattanich J. about Crash-Course Introduction to C Programming: This class is great. My son learned a lot and really enjoyed it. Prior experience helped, but won’t be necessary. The teacher was very thorough and explained things clearly. I’m looking for another coding class from this instructor.
Rami R. about Intermediate C# Programming/Data Structures and Algorithms: Great teacher; I had very little programming knowledge and learned a lot during the course.
Rachel B. about Accelerated Introduction to Python Programming: My son enjoyed this class and he notes that the teacher is an expert in the topic. The teacher was very welcoming despite the fact that my son was younger than the age recommendations. My son felt that the teacher covered the material in an efficient way and the class lived up to its description.
Eric N. about Introduction to C/C++ Programming: My son really enjoyed this class! He was very comfortable since Daniel's teaching style lends itself well to learning the basics of programming. The classes were hands-on, the topics well-covered, and the short assignments provided a good way to illustrate the subject matter. We would definitely take more programming classes with this teacher.