Programming Foundations with Python: Basics

Summary

In this course, we'll increase the level of complexity from the Programming Prep course and work on more meaningful exercises. We'll use a static code analyzer and learn to systematically approach a problem using pseudo-code. As we go through these programs, we'll point out important learning concepts like variable scope in methods, blocks, and the main program. After this course, you should have a good grasp of how to write simple programs and think in an imperative, step-by-step, logical fashion. You will also learn to do some basic debugging and trap tricky bugs, and learn to develop a temperament for debugging.

Major Topics

  • Using Markdown
  • How to Ask Questions
  • What Resources are Available
  • Python Style Guidelines
  • Truthiness in Python
  • Python Virtual Environments
  • Using Pseudo-code and Flowcharts for Problem Decomposition and Analysis
  • Project: A Simple Calculator
  • Project: A Loan Calculator
  • Project: Rock Paper Scissors (Lizard Spock)
  • Python Language and Syntax
  • When to Use Certain Data Structures
  • Using a Static Code Analyzer (Pylint)
  • Refactoring Code
  • Learn to Debug Small Programs
  • Understanding and Preventing Errors
  • Operator Precedence
  • Type Conversions and Coercion
  • Coding Tips
  • Variables and Functions
  • Variable Scope
  • Pass by Reference vs Pass by Value
  • Practice Problems and Small Problem Exercises

Phase

Programming and Back-end Development

Prerequisites

Detailed Syllabus

Preparations

  • Set Up Your Profile Image
  • Using Markdown
  • Finish Prep Course
  • System Check
  • Differences Between Python Versions
  • Git and Github
  • Active Learning
  • Asking Questions
  • Lesson Discussion Forums
  • Slack
  • Study Sessions
  • Exercises: Small Problems

Small Programs

  • Style Guide
  • Set up a new directory for this lesson
  • Truthiness
  • Python Virtual Environments
  • Walk-through: Calculator
  • Pseudocode
  • Flowcharts
  • Pylint
  • Walk-through: Refactoring Calculator
  • Pylint Calculator
  • Debugging
  • Errors
  • Preventing Errors
  • Precedence
  • Assignment: Calculator Bonus Features
  • Type Conversions
  • Assignment: Mortgage / Car Loan Calculator
  • Coding Tips
  • Variables and Functions
  • Variable Scope
  • Pass by Reference vs Pass by Value
  • Walk-through: Rock Paper Scissors
  • Coding Tips 2
  • Assignment: RPS Bonus Features

Practice Problems

  • Easy 1
  • Easy 2
  • Easy 3
  • Medium 1
  • Hard 1