Python Fundamentals
4.2 (191 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,977 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Python Fundamentals to your Wishlist.

Add to Wishlist

Python Fundamentals

Python core concepts for the everyman
4.2 (191 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,977 students enrolled
Created by Sanjin Dedic
Last updated 6/2017
English
Curiosity Sale
Current price: $10 Original price: $50 Discount: 80% off
30-Day Money-Back Guarantee
Includes:
  • 2.5 hours on-demand video
  • 4 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
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

What is Python and why is it important?

Python is an interpreted text based general purpose programming language, which is a key requisite of the 7-10 Digital Technologies Curriculum. Python is also the only professional programming language that was designed with beginners in mind, it is intuitive and easy to use

What are the student outcomes?
Students learn about core concepts of programming: branching, iteration and functions. They apply these to create four applications which perform the following:
Simulation of an intelligent conversation

  • User Authentication using passwords and/or secret questions
  • A game where user guesses a number and the program informs the user of his accuracy over time
  • A program that encrypts and decrypts messages using the Caesar Cypher

What is the educational approach of the course?

The course explicitly teaches the concepts such as loops or functions, performing several examples in the interactive shell. Then these concepts are employed to create a computer program these programs progress in their level of difficulty, eventually performing complex tasks like encryption Beyond the concepts and applications students will also learn the following skills:

  • Creating algorithms which can be represented in the form of flowcharts, which are in turn easy to translate to code.
  • Building programs in separate stages each of which can be tested
  • Getting insight and understanding from error messages
Who is the target audience?
  • 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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
22 Lectures
02:37:36
+
Introduction to the myself and the course
2 Lectures 10:19
+
Basic Concepts
6 Lectures 44:27
Basic Concepts: Key Definitions
00:27

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:39

Learning Intentions:

Python has a great deal of functionality when it come to strings, in this lesson we are going to have a look at the followin

  1. Creating a string
  2. Multiplying a string
  3. Adding to a string
  4. Capitalization
  5. Printing portions of a string
  6. Formatting a string 
Basic String Operations
08:44

Learning Intentions

  1. Reading and saving a user input
  2. Creating our first Python program 
  3. Generating a customised greeting for the user
User Inputs
07:00

Learning Intentions

  1. Creating a loop to repeat an instruction a desired number of times
  2. Printing the loop variable
  3. Using the loop variable to generate a times table
Loops and Iteration
09:56

Learning Intentions:

  1. Using if-else statements in Python
  2. Using the elif statment in multiple situations
  3. Creating a program which responds to multiple different user inputs


Mastery Challenges:

  1. Change every elif to an if and see what happens. Can you create an error where you are greeted twice?
  2. Write a Python program to simulate the flowchart in Figure 1. You can complete this using only print, user input and if...else statements.
If Else Statements
09:41
+
Creating Programs and Applications
6 Lectures 45:37
Authentication program Outline
00:39

Program functionality:

  1. Ask the user for their username
  2. Record username in a variable
  3. Check if username valid / if invalid EXIT if valid continue
  4. Ask the user for their password
  5. Record password in a variable
  6. Check if password valid / if invalid EXIT if valid, print ACCESS GRANTED
Authentication Program
08:28

Program Functionality 

  1. Create a dictionary with valid usernames and passwords
  2. Ask the user for their username
  3. Record username in a variable
  4. Check if username is in dictionary if YES proceed to 5. Otherwise  EXIT
  5. Ask the user for their password
  6. Record password in a variable
  7. Check if password corresponds to the username KEY in dictionary if yes ACCESS GRANTED, if no EXIT
Using Dictionaries to Store Multiple User Logins
08:12

The final stage of the program is going to do the following:

  • Set up accessGranted Boolean variable and set it to false
  • Create  while accessGranted == False loop. This loop will run until accessGranted == True at this point the loop and the program will end
  • Inside the while loop do the following:
    1. Create a dictionary with valid usernames and passwords
    2. Ask the user for their username
    3. Record username in a variable
    4. Check if username is in dictionary if YES proceed to 5. Otherwise  EXIT
    5. Ask the user for their password
    6. Record password in a variable
    7. Check if password corresponds to the username KEY in dictionary if yes ACCESS GRANTED, if no EXIT
Booleans and While Loops
05:55

Program Functionality 

  1. Create a random number
  2. Write a code which gives the user a chance to guess the random number
  3. Create a game based on the above points that keeps track of user performance (correct guesses)
Guess the Number Game
11:33

Program Functionality 

  1. Create a function in Python
  2. Import a large string into Python
  3. Create some text manipulating functions to format some text into a usable form which can be searched
Functions and More String Operations
10:50
+
Encryption from Algorithm to Application
7 Lectures 44:16
The history and functionality of the Caesar Cypher Algorithm
00:51


Caesar Cypher Dictionary Flowchart
00:16

Caesar Cypher Dictionary
13:38

Caesar Cypher Encryption Program
09:12

Caesar Cypher Decryption Program
08:11

Congratulations
07:10
+
Bonus Lectures requested by students :)
1 Lecture 13:02
Advanced Loops and Iteration
13:02
About the Instructor
Sanjin Dedic
4.3 Average rating
264 Reviews
13,793 Students
8 Courses
Teacher, Robotics Engineer

Sanjin is a teacher and a robotics engineer with a passion for teaching Coding and Robotics to school aged children. He has spent more than 5 years teaching various age groups in platforms like Scratch, Arduino, Python, Raspberry Pi and Lego Mindstorms. 

He is presently working with over 20 schools in Melbourne to help them implement the Digital Technologies Curriculum in a meaningful manner. This means developing learning sequences that help students easily grasp the core concepts of coding and then setting them up with problems that involve higher level computational thinking and integration with various mathematical concepts.