Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Introduction to Programming Crash Course + Python Primer
Rating: 4.7 out of 5(3,812 ratings)
9,198 students

Introduction to Programming Crash Course + Python Primer

Launch your career with basics of programming and software development for beginners and learn Python basics
Created byRick Crisci
Last updated 8/2025
English

What you'll learn

  • Understand basic programming concepts and tools like IDEs and text editors
  • Edit sample code and test code in an IDE
  • Use print functions, variables, conditions, arrays, loops, and functions
  • Learn about skills and techniques to develop your programming skill set and get a job
  • Plan, write, and debug simple coding projects in Python

Course content

2 sections50 lectures4h 38m total length
  • Introduction8:06

    This video introduces the foundational concepts of programming for absolute beginners, explaining that programming involves giving precise instructions to a computer to execute a desired task. It emphasizes the importance of error-free directions, drawing parallels between giving directions to a friend and writing code for a computer, and highlights the role of programming languages in translating human-readable code into binary code the computer can understand.

  • Quiz - Introduction
  • A quick favor to ask...0:28
  • IDEs and Syntax7:55

    This lesson introduces fundamental concepts of programming, starting with Integrated Development Environments (IDEs) and their role in writing and debugging code. It also highlights the significance of syntax in programming languages, using examples from Python and Java to illustrate syntax differences and the importance of precise code structure.

  • Quiz - IDEs and Syntax
  • Tools Used in this Course2:24

    In this lesson, we explore various tools beneficial for Python programming, focusing on an online Python editor for its ease of use and accessibility for beginners. We also discuss additional tools like Idle for newer Python features and Adam as a text editor, highlighting their respective uses and limitations in the programming process.

  • What is Pseudocode?6:55

    In this lesson, we explore the concept of pseudocode, a critical technique in programming that involves planning code structure without the constraints of specific syntax. Pseudocode allows programmers to sketch out their ideas, ensuring a clear direction before diving into actual coding, much like creating a blueprint before starting a construction project.

  • Quiz - What is Pseudocode?
  • Print Functions4:26

    This lesson introduces the basics of print statements, particularly focusing on Python, a popular programming language used for instructional purposes in this course. Print functions are fundamental for beginners, allowing them to output text like "Hello World" to the console, which is an essential part of the Integrated Development Environment (IDE) used for writing and debugging code.

  • Quiz - Print Functions
  • Trap #1 - I'll Come Back to this Later.....1:45

    This lesson discusses the common pitfall in learning programming known as the "I'll pick this up later" trap, emphasizing the importance of consistent practice and cautioning against taking extended breaks. The analogy of pushing a heavy rock illustrates the momentum lost when learning is paused, advocating for maintaining progress, however small, to ease the learning journey.

  • How to use Code Samples1:32

    This lesson introduces students to example code that they can download and experiment with using an editor like Atom. The instructor encourages learners to modify the provided code snippets to gain hands-on experience, suggesting the use of an online IDE to run and test the modified code.

  • Basic Arithmetic Operators7:12

    This lesson introduces basic math operators in Python, demonstrating addition, subtraction, multiplication, division, modulus, and exponentiation with examples in an online Python editor. It emphasizes the importance of efficient coding practices and the distinction between integers and strings in performing arithmetic operations.

  • Quiz - Basic Arithmetic Operators
  • Trap #2 - Maintain a Growth Mindset1:38

    Maintaining a growth mindset is essential in learning programming, focusing not on your current skill level but on your progress over time. Just like the gradual formation of the Grand Canyon, consistent and incremental progress in coding will lead to significant skill development.

  • Variables4:43

    In this lesson, we explore the concept of variables in programming, focusing on their role in storing and referencing data within a program using descriptive names. We delve into different types of variables, including integers, booleans, floats, and strings, demonstrating each with examples in an online Python environment, highlighting their unique characteristics and applications.


  • Quiz - Variables
  • Trap #3 - Jack of All Trades...1:10

    In this lesson, the focus is on avoiding the trap of becoming a "jack of all trades and master of none" in programming. Instead, it emphasizes the importance of specializing in a specific area to become a master at it, underscoring the necessity of strategic planning and focused learning to achieve expertise.

  • More about Variables7:21

    In this lesson, the concept of variables is further explored, starting with the use of blank variables which are initially undefined but later assigned values, such as through user input. The lesson progresses to combine variables with user input and arithmetic operations, demonstrating how variables can store various types of data (like strings, integers, and booleans) and how their values can be updated and utilized throughout a program. The importance of naming conventions for readability and maintainability of code is also emphasized, with examples provided to illustrate these concepts in a practical, Python-based context.


  • Quiz - More about Variables
  • Conditional Statements8:29

    This lesson introduces the concept of conditional statements in programming, specifically focusing on if-else statements in Python. It demonstrates how these statements allow a program to execute different blocks of code based on whether a condition is true or false, using practical examples like age verification to illustrate the point.

  • Quiz - Conditional Statements
  • Trap #4 - Learn by Watching?1:09

    This lesson emphasizes the importance of active learning in programming, cautioning against the trap of passively consuming tutorials without practical application. It encourages learners to apply their knowledge by coding projects, such as a text-based game, to solidify their understanding and become proficient programmers.

  • Switch Statements4:56

    In this lesson, we explore how to use match and switch statements in Python and Java respectively to streamline code by replacing multiple if-else statements. The lesson demonstrates with practical examples, such as managing user roles based on input names in Python and assigning letter grades based on numeric values in Java.

  • Quiz - Switch Statements
  • Trap #5 - Flying Solo1:09

    In this lesson, we explore the importance of not trying to reinvent the wheel in programming by utilizing existing resources and communities like GitHub, Stack Overflow, and Reddit. Collaborating and learning from others, rather than isolating oneself, accelerates skill development and growth in the field.

  • Arrays4:55

    This lesson introduces arrays as a method for storing collections of items, allowing for more efficient data organization than using multiple variables. It covers the basics of array usage, including indexing, which starts at zero, the immutability of array structure post-definition, and the incorporation of both single and two-dimensional arrays, with examples provided in Python.

  • Quiz - Arrays
  • Landing a Job in Programming2:46

    This lesson provides practical advice for landing your first programming job, emphasizing the importance of creating a professional resume, LinkedIn profile, and a portfolio of projects to demonstrate your coding skills. It also highlights the significance of being genuine and enthusiastic during interviews, suggesting that expressing commitment and a strong work ethic can make a pivotal difference.

  • Loops10:40

    In this comprehensive lesson on loops, we explored the mechanics and applications of for loops and while loops to execute repetitive tasks in programming efficiently, emphasizing the need to avoid infinite loops for program stability. We covered practical examples in Java and Python, showcasing loops for iterating over arrays, strings, and applying nested loops for complex iterations, alongside the critical practice of ensuring loops have clear termination conditions to prevent infinite execution.

  • Quiz - Loops
  • Errors6:00

    This lesson dives into common errors encountered in programming, such as syntax, runtime, and logic errors, with practical examples to illustrate each. Syntax errors, akin to typos, are usually identified by the IDE, while runtime errors occur during code execution, like infinite loops. Logic errors, however, present correct code execution but with unintended outcomes, making them more challenging to detect and rectify.

  • Quiz - Errors
  • Debugging7:19

    This lesson explores debugging techniques in Python, demonstrating how to identify and fix logic errors in a program. The instructor uses print statements to check the values of variables at various stages in the code and comments out lines to determine their impact, offering practical strategies for isolating and resolving errors in complex code.

  • Quiz - Debugging
  • Functions11:51

    This lesson introduces the concept of functions in programming, emphasizing their utility in executing repetitive tasks without rewriting code. Functions, defined by specific tasks and optional arguments, enable diverse applications with the same underlying process, illustrated by analogies like food delivery and practical Python examples involving bedtime routines and counting people in a tour group.

  • Quiz - Functions
  • Recursion4:50

    Recursion in programming is explained through the metaphor of cleaning tables at a restaurant, where a function calls itself to complete a task—like cleaning one table out of ten—until a condition is met that stops the recursion. In Python, this concept is illustrated with a countdown function that recursively decrements a number until it reaches zero, demonstrating how recursion can simplify tasks like sequence generation with minimal code.

  • Quiz - Recursion
  • About the Next Two Lessons1:00
  • Version Control and Collaboration with Git and GitHub5:30

    In this lesson, we explore the basics of version control, focusing on how tools like Git and GitHub help manage changes to code, enable collaboration, and allow developers to revert to previous versions if needed. We'll also discuss alternatives to GitHub, such as Bitbucket and cloud-based tools like AWS CodeCommit, while emphasizing the importance of version control in maintaining quality code and supporting DevOps automation.

  • Demo: Version Control with GitHub17:07

    In this lesson, we explore how to use GitHub for version control by creating and managing repositories, working with branches, and making commits locally using Git. The demonstration covers cloning a repository, adding files, making changes, pushing updates to GitHub, and performing merges through pull requests, illustrating the key benefits of Git and GitHub for collaborative code development.

  • AI and Software Development2:11

    In these videos, we'll explore how to effectively use AI, focusing on tools like ChatGPT and GitHub Copilot, to streamline the software development process. We'll demonstrate how these AI tools can assist with tasks such as code generation, debugging, and providing explanations to make coding faster and easier.

  • Debug, Document, and Summarize Code with AI5:07

    In this lesson, we use AI to debug and enhance a Python slot machine application by identifying syntax issues like typos and indentation errors, and then fixing them with ChatGPT's assistance. The lesson also demonstrates how AI can add comments, generate pseudo code, and offer suggestions to optimize the code, showcasing AI's usefulness for both debugging and improving code efficiency.

  • Bonus Video0:42

Requirements

  • None

Description

"He was so thorough and detailed with his explanation. Even a year 8 child could relate with his examples and teaching. Wish I could give more stars." -Kingsley

"Amazingly easy with resources easy to follow & practice on even for complete beginners" -Wannoruddinrasol


If you need to get a basic understanding of programming quickly and clearly, this is the course for you. We will use real examples of python and java code that you can try on your own. But the content here is applicable to many different programming languages.

This course will teach you the following:

  • What is programming? And which programming language should I learn?

  • What is an IDE and how does it help us write code?

  • How can we use pseudocode to plan a project?

  • How can I use AI to write, debug, and document code?

  • Using print statements to produce output to the console

  • Understanding errors and how to effectively debug code

  • How can I use basic arithmetic operators and variables in my code?

  • How can I use Git and GitHub for collaboration and version control?

  • Usage of conditional statements such as if/else

  • Using Switch statements to evaluate multiple conditions without multiple if/else statements

  • How to use arrays to contain multiple values

  • Creating loops and functions to carry out repeated tasks

As a bonus, this course now also includes an introduction to Python!

Are you brand new to Python? Are you a beginner programmer? Have you found that many of the training resources out there use complex technical jargon that make it difficult to understand the basic concepts? If you need to get a working knowledge of Python quickly and clearly, this is the course for you.

This course answers the questions:

  • How do I install Python and start writing code using Anaconda and Jupyter Notebook?

  • What are the key skills that I must have to write basic Python code?

  • How do I use print functions, loops (while, for), variables, and conditional (else/if) statements in my code?

  • What are common errors and how can I easily test and debug my code?

I have taught hundreds of thousands of students across a variety of platforms, and I think anyone who needs to understand programming will love this course. Most lectures in this course are 5 - 10 minutes long. This course gives you an understanding of the most critical knowledge areas of programming.

Who this course is for:

  • Programming beginners, management employees, or anyone who needs to understand programming basics