Short Summary
Class Information
Description
Course Objective
This course is an introduction to the problem-solving and programming methodologies that are fundamental to the study of computer science, while learning about the popular programming language Python. Students gain considerable experience with fundamental language constructs and types, such as expressions, decisions, iteration, functions, structures, and strings.
This course (and those to follow in the sequence) is modeled after a college-level class taught by this instructor but is accessible to students who have never programmed before. This is an excellent course for a student exploring the possibility of becoming a programmer or software engineer, or possibly pursuing a college degree in a Computer Science field.
As this is a self-paced class, a video and slide deck will be released each week. Students can watch the video and use the accompanying slide deck as their own pace. At the end of each lesson is a programming project for students to work on. These projects are designed to give students practicing using the techniques covered in that lesson.
Students are encouraged to reach out to the instructor with any questions they have about the lesson material or the project. The instructor will typically respond within 24 hours. Students are also encouraged to submit their project code, which the instructor will make comments on and suggest improvements, if needed. The project will be discussed at the beginning of each next lesson video.
This course will cover the following topics:
- Introduction to Python. Intro to Python and programming, compiling our first program. We will get you programming right in the middle of the very first lesson.
- Digging Deeper. Designing programs, using algorithms to organize your thoughts and create well-defined solutions. Given a problem, we will break it down into steps, then use that to create our programs.
- String Datatype. The String datatype has a lot of functionality built into it. With string functions we can determine the length of a string, look for things within a string, and create substrings.
- If statements. Our first look at a flow control statement, one that allows the program to 'make decisions'. We will look at the If statement, If/Else, Compound If and Nested if. We will see how each form of the If statement is useful for solving problems.
- Random Numbers. Most programming languages provide a way to generate random numbers, which come in handy when writing games or anything modeling things that happen in nature. In this lesson we will see how Python generates random numbers and end up writing a fun number guessing game.
- While loops, Part 1. Another type of flow-control, the while loop allows your program to repeat a chunk of code or action.
- While loops, Part 2. We dig deeper into the power of the while loop as we look at different forms and 'add in' statements that make while loops even more flexible!