Python Fundamentals
4.4 (361 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
10,055 students enrolled

Python Fundamentals

Probably the best Python Beginner course on the internet
4.4 (361 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
10,055 students enrolled
Created by Sanjin Dedic
Last updated 2/2018
English
English [Auto-generated]
Current price: $64.99 Original price: $99.99 Discount: 35% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 4 articles
  • 18 downloadable resources
  • 10 coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • You will get a clear understanding of all Python core concepts
  • You will be able to write programs that interact with a user through a text terminal
  • Create basic games based on guessing random number generation
  • Simulate an intelligent conversation with a computer
  • Write functions that take in any number of arguments
  • Create program that encrypts messages
  • Create a program that cracks encrypted messages
Course content
Expand all 37 lectures 04:17:47
+ Core Concepts
12 lectures 01:15:48
Core Concepts: Key Definitions
00:26

Learning Intentions:

  1. Understanding the python interpreter
  2. Understanding what is an expression in programming
  3. Understanding what variables are and how they are used
  4. Understanding the data types used by Python
Preview 08:35

LEARNING INTENTIONS:

  1. Create our first computer program
  2. Create a print statement that outputs Hello World
  3. Save an input from a user (their name)
  4. Create an customised output for the user (with their name)
Print Statements and the Hello World Program
06:53

LEARNING INTENTIONS:

  1. Define and use an if statement in a text based program
  2. Define and correctly use if elif else branching structure


if - statement: A block of code that runs if a condition is true. For example:

if ( x > 5):

      print('x is bigger than 5')

 

if-else statement: A block of code that specifies two different actions, one will take place if the condition is true, the other if the condition is false. 

if ( x > 5):

      print('x is bigger than 5')

If Statements and User Inputs
08:14
Demonstrating User Inputs with Turtle
04:08

LEARNING INTENTIONS:

1.  Define and use a for-loop to repeat a print statement any number of times

2.  Write a program which asks user for a number, and converts the user input into an integer. The program will then return a times table for that number

for loop:  a piece of code that runs itself repeatedly. For loops run through a range of numbers and so they run a limited number of times.

iteration: to use a loop to go through a list or a range, and perform an operation with each item in that list / range


For loops and Iteration
06:43
Demonstrating Loops with Turtle
04:33

LEARNING INTENTIONS:

1.  Define and use a for-loop to repeat a print statement any number of times

2.  Use the for loop and the looping variable to create a program that asks a user for a number and then returns a times table

 

GLOSSARY:

for loop:  a piece of code that runs itself repeatedly. For loops run through a range of numbers and so they run a limited number of times.

iteration: to use a loop to go through a list or a range, and perform an operation with each item in that list / range

Factorisation: Apllying Loops and If statements
05:42

LEARNING INTENTIONS:

  • Add a counter to the factorisation program to count factors
  • If the final factor count is 2 then declare the number to be prime

 

GLOSSARY:

factors:  Factors are numbers we can multiply together to get another number:

Example: 2 and 3 are factors of 6, because 2 × 3 = 6.

Factors come in pairs and prime numbers have only one pair of factors eg 11 can only be made from 1 × 11

remainder(%) : The % operator returns the remainder of a division of numbers so for example

5%2 = 1     5 divided by 2 leaves 1 remainder

10%2 = 0  10 divided by 2 is exactly 5 with zero remainder

prime number: a number that is only divisble by 1 and itself

Introducing Prime Number Recognition to Factorisation
04:29
Demonstrating If and Elif Statements with Turtle
06:40
Advanced Loops and Iteration
13:02
Demonstrating While Loops with Turtle
06:23
+ Functions in Python
3 lectures 22:30

LEARNING INTENTIONS:

  1. Understand the concept of a functions
  2. Create functions that do the following:
  • perform a custom greeting
  • add two numbers
  • factorise a number

GLOSSARY:

function: function is a block of code that has a name and the entire block can be run just by calling the name of the function. Functions have the ability to take in information as well as to output information

parameters: these are inputs to a function

def functionName(parameter1, parameter2, parameter3) :

code to be executed is indented and goes here

returning a value: a function that has an output returns a value and the value that is returned is preceded by the return command

Functions
06:06

LEARNING INTENTIONS:

After this tutorial you will be able to:

  1. Organize 3 of our previous programs using functions and a menu
  2. Select appropriate names for your functions
  3. Create a main function that gives an overview of the program


GLOSSARY:

function: function is a block of code that has a name and the entire block can be run just by calling the name of the function. Functions have the ability to take in information as well as to output information

parameters: these are inputs to a function

def functionName(parameter1, parameter2, parameter3) :

code to be executed is indented and goes here

returning a value: a function that has an output returns a value and the value that is returned is preceded by the return command

Using Functions to Organise Larger Programs
08:12

LEARNING INTENTIONS:

After this tutorial you will be able to: 

  • Learn to use a reference list if built in string functions
  • Apply the replace function to do some spell checking
Built in String Functions in Python
08:12
+ Coding Exercises in Basic Concepts
0 lectures 00:00
Add Numbers up to
1 question
Sphere Volume
1 question
Returning a string with the vowels stripped
1 question
Returning a reversed String
1 question
+ Lists and Dictionaries
4 lectures 26:43

LEARNING INTENTIONS:

  • Create a list
  • Access values in a list
  • Change values in a list
  • Add two lists together
  • Multiply lists
  • Check if a value is in a list
  • Iterate through a list

 

GLOSSARY:

List (also called an array in other programming languages) is a tool that can be used to store multiple pieces of information at once. It can also be defined as a variable containing multiple other variables.

List index : is an integer which stands for the position of an item in the list so that 0 stands for the first item, 1 for the second, 2 for the third and so on 

Lists
05:28
  1. Learn to use the list functions resource
  2. Modify the factorisation program to do the following
    1. ask the user for a maximum number
    2. put all the prime numbers lower than this maximum into a list 
    3. print the list once this limit is reached
Creating Lists of Prime Numbers
08:15

LEARNING INTENTIONS:

  1. Create a dictionary
  2. Add values to a dictionary
  3. Change values in a dictionary


GLOSSARY:

Dictionary: In python a dictionary is a data structure consisting of paired pieces of information. This pairing is just like a word and a definition in a dictionary

Dictionaries
04:51
Applied Dictionary Swapping Words With Synonyms
08:09
+ Coding Exercises with Strings and Lists
0 lectures 00:00
Factorise a number
1 question
Check if a number is a prime
1 question
Return all primes under a number
1 question
Two List Overlap
1 question
Sorting number lists (both low to high and high to low)
1 question
Return X terms of the Fibonacci Sequence
1 question
+ Creating Programs and Applications
7 lectures 01:05:34
Authentication program Outline
00:37

LEARNING INTENTIONS:

In this tutorial you will do the following: 

  1. Chose a username password combination
  2. Write a program which checks the validity of the username
  3. If valid the program checks for the validity of the password for that username
  4. Upgrade the program to accept 2 different combinations


GLOSSARY:

Dictionary: In python a dictionary is a data structure consisting of paired pieces of information. This pairing is just like a word and a definition in a dictionary

While loop: a loop that depends on a condition. If the condition is true then the loop keeps running. The loop stops executing if the condition becomes false

Authentication Program
08:56

LEARNING INTENTIONS:

In this tutorial we will learn to do the following:

  1. Upgrade the program to accept unlimited usernames and passwords (use a dictioanary to store username:password)
  2. Upgrade the program to ask the user again after the wrong username or wrong password (while loop)
  3. Add a time delay to make the system resistant to brute force hacking
Authentication Using While Loops and Dictionaries
13:40

LEARNING INTENTIONS:

Write a program that does the following:

  • Create a random number (1-100) and save it as an integer
  • Write a code which allows the user to guess the number
  • Create a too big / to small feedback for wrong answers
  • Count the number of tries the user makes before succeeding
Guess the Number Game
10:58

LEARNING INTENTIONS:

Write a program that does the following:

  1. Asks a user how many rounds to play
  2. Gives a __GO__ signal to the user after a random amount of time
  3. Measures and prints how long the user takes to react to the signal
  4. When the user requested number of rounds is played, the program prints out:
    1. the average reaction time
    2. tthe slowest reaction time
    3. the fastest reaction time
  5.  


GLOSSARY:

import random: This allows us to create random numbers by importing the module where the randint() function is located

random.randint(min,max) This function takes in two integer parameters and creates a number greater or equal to min and less or equal to max

While loop: a loop that depends on a condition. If the condition is true then the loop keeps running. The loop stops executing if the condition becomes false

Reaction Time Program
07:15

LEARNING INTENTIONS:

Write a program that does the following

  1. Gets a sequence length from the user
  2. Creates a random sequence
  3. Shows user the sequence
  4. Checks if the user can recall the sequence
Memory Training Program
08:50

LEARNING INTENTIONS:

Write a program that does the following 
1. Import a text file which contains all English words 
2. Strip the words of all punctuation 
3. Lowercase each word
4. create a list of all words in lower case
5. reverse each word and check if it remains the same 
6. all words that remain the same to be printed out 

palindrome a word, phrase, or sequence that reads the same backwards as forwards, e.g. madam or nurses run

punctuation For programming purposes these are all the characters that are not letters: !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~’“”
punctuation needs to be cleared before we can process and analyse our text for palindromes


Palindrome Discovery
15:18
+ Encryption from Algorithm to Application
9 lectures 56:51
The history and functionality of the Caesar Cypher Algorithm
00:48
Caesar Cypher Dictionary Flowchart
00:15
Caesar Cypher Dictionary
09:49
Caesar Cypher Encryption Program
07:23
Caesar Cypher Decryption Program
04:17
Smart Decryption
07:20
Polyalphabetic Cypher
14:51
Congratulations
07:10
Requirements
  • You should have Windows PC or Apple Mac with OSX
  • You should install Python (from python.org)
  • Have a basic understanding of mathematics (Year 8 level)
Description

Becoming an awesome programmer is a bit like building a large tower of knowledge in that solid foundations are the key to your success. Completing this course will provide you with mastery over these foundations. Here is a quick summary of the journey that awaits you:

 

Curriculum

The course will focus on mastering the following concepts

  • variables (integers, floats and strings)
  • control structures ( loops and if statements)
  • functions
  • data structures (lists and dictionaries)

 

Learning Process

The course incorporates principles known to help humans learn better, namely: multiple perspectives, revision, feedback and real world application.  The following three step process will help you retain and master all the topics covered in this course:

Step 1: Demonstrate concept with both visual and text outputs: this is achieved by first writing a program with a text output and then writing another where the output is created visually using turtle.

Step 2: Test your understanding with 10 coding exercises: all of these are automatically marked using the python unittest module giving you instant valuable feedback.

Step 3: Apply your understanding to write useful and interesting programs: The core concepts you have learned will be put together into programs which do useful and interesting things like:

  • User authentication with a dictionary
  • Guessing number game
  • Human reaction time measurement
  • Human memory training
  • Palindrome Discovery (all single word palindromes in English)
Who this course is for:
  • High School Students looking to learn programming
  • Computer professionals looking to get a quick handle on python
  • Teachers / Tutors looking to find an ideal learning sequence to teach Python programming
  • Programming students looking to take a practical jargon free approach