This lesson introduces students to an overview of the Intro to Python course while probing their thinking on what it means to be successful in an online (or blended learning) course.
Students will be able to:
In this lesson, students are introduced to Karel the Dog and how Karel can be given a set of instructions to perform a simple task.
Students will be able to:
move()
, put_ball()
, take_ball()
and turn_left()
.In this lesson, students build on their understanding of how Karel the Dog can be given a set of instructions to perform a simple task.
Students will be able to:
In this lesson, students will learn how to define and call a function using proper syntax.
Students will be able to:
In this lesson, functions will be used to teach Karel a new word or command. Using functions allows programs to be broken down into smaller pieces and makes it easier to understand.
Students will be able to:
In this lesson, students learn top down design and decomposition as the processes of breaking big problems into smaller, manageable pieces. The functions improve the readability of the code and avoid repeated code.
Students will be able to:
In this lesson, students will learn how to utilize comments in their code to explain what their code is doing. Comments should include preconditions and postconditions. Preconditions are assumptions we make about what is true before a function is called in our program. Postconditions are what should be true after a function is called in our program.
Students will be able to:
In this lesson, students will learn about abstraction. Abstraction is the act of managing complexity by dissociating information and details in order to focus on relevant concepts.
Students will be able to:
In this lesson, students will be introduced to SuperKarel and APIs. SuperKarel includes commands like turn_right()
and turn_around()
since they are so commonly used. These commands come prepackaged with the SuperKarel library (API).
Students will be able to:
In this lesson, students learn how to use for loops in their programs. The for loop allows you to repeat a specific part of code a fixed number of times.
A for loops is written as follows:
for i in range(4):
# Code to be repeated 4 times
Students will be able to:
In this lesson, students will learn about conditions and if statements. A condition is a function that returns a true/false answer. Python uses if statements as a way to make decisions and execute specific code. If statements are helpful in writing code that can be used in different situations.
Students will be able to:
In this lesson, students will take a deeper look into conditional statements, more specifically if/else statements. If/else statements allow for one thing to be done if a condition is true, and something else otherwise.
We write if/else statements like this:
if front_is_clear():
# code to execute if front is clear
elif balls_present():
# code to execute otherwise
Students will be able to:
In this lesson, students are introduced to a new type of loop: while loops. While loops allow Karel to repeat code while a certain condition is true. While loops allow for the creation of general solutions to problems that will work on multiple Karel worlds, rather than just one.
Students will be able to:
In this lesson, students take a look at all of the control structures. Control structures can be selective, like if and if / else statements and are based on a condition. Other control structures are iterative and allow for repeated code like for loops and while loops. Basically, control structures control the way the commands execute.
Students will be able to:
Debugging is a very important part of programming. In this lesson, students learn how to effectively debug their programs.
Students will be able to use debugging strategies to find and fix errors in their code.
In this lesson, students are introduced to algorithms which are step by step instructions that solve a problem. Programs implement algorithms. All algorithms are built using sequencing, selection, and iteration. Karel has control structures for each of these. This lesson is designed to test students’ knowledge of control structures and algorithm design in preparation for upcoming Karel challenges.
Students will be able to:
In this lesson, students are introduced to Ultra Karel! Ultra Karel has all the abilities of Super Karel, plus two new functions (paint
and color_is
) added to the API.
Students will explore the Ultra Karel API and use Ultra Karel’s ability to paint the grid world to create digital images. Students will create generalized algorithms that solve Ultra Karel problems for multiple worlds.
This lesson is the first time students will use functions that accept parameters as inputs.
Students will be able to:
In this lesson, students will synthesize all of the skills and concepts learned in the Karel unit to solve increasingly challenging Karel puzzles.
Students will be able to:
In this lesson, students complete a summative assessment of the unit’s learning objectives.
Students will be able to:
In this lesson, students will learn how to make the most basic python program- one that displays text on the screen. Students will learn how to print in python using the print statement. They will also learn how to use quotations, apostrophes, and strings.
Students will be able to:
In this lesson, students will be reintroduced to the concept of variables, which store information in a program to be used later. Students will also learn about three different variable types- strings, integers, and floating point numbers.
Students will be able to:
In this lesson, students revisit user input. They learn how to request user input as both strings and integers, learn where the input is stored, and learn how to convert strings and integers.
Students will be able to:
In this lesson, students will learn about using mathematical operators in their Python programs. They will work through multiple examples to get comfortable with operator precedence and using different types of operators.
Students will be able to:
In this lesson, students will be able to perform string operations in order to concatenate values together.
Students will be able to:
In this lesson, students revisit the concept of comments. Comments are helpful because they allow programmers to leave notes about the program they are writing.
Students will be able to:
In this lesson, students review content with a 20 question Unit Quiz.
Students will be able to:
Students will have an opportunity to be creative and apply all they’ve learned about basic python and variables to create a Mad Libs game a user can interact with.
Students will be able to:
In this lesson, students will revisit the concept of boolean values. Booleans refer to a value that is either true or false. Named after English-born mathematician, philosopher and logician, George Boole, Booleans are used to test whether a condition is true or false.
Students will be able to:
In this lesson, students will review how to use If and if/else statements. These statements allow programmers to use conditions to determine how their code should run.
Students will be able to:
In this lesson, students will dive into comparison operators. Comparison operators give the ability to compare two values. Using comparison operators in programming is similar to math in that less than <, greater than >, less than or equal to <=, and greater than or equal to >= are the same. The differences are that operators for equal to are == and not equal are !=. Using comparison operators allow programs to make decisions.
Students will be able to:
In this lesson, students will look at logical operators. Logical operators give the ability to connect or modify Boolean expressions. Three logical operators are NOT
(!), or
and and
. These logical operators can be used in combination. With these logical operators, logical statements can be constructed, such as “I go to sleep when I am tired OR it’s after 9pm”, “I wear flip flops when I am outside AND it is NOT raining”.
Students will be able to:
or
, and
, and NOT
(!) In this lesson, students learn about the intricacies of floating point numbers. When using comparison operators with floating point numbers in Python, we will sometimes see strange behavior because of bizarre rounding methods. When using a comparison operator with floating point numbers, you should use round(x)
to avoid strange rounding behavior. round(x, n)
will round the float x
to n
decimal places. round(x)
will round the float x
to 0 decimal places.
Students will be able to:
In this lesson, students review content with a 15 question Unit Quiz.
Students will be able to:
Students will have an opportunity to be creative and apply all they’ve learned about conditionals to create a Quiz game a user can interact with.
Students will be able to:
In this lesson, students learn to use while loops in their Python programs. While loops allow code to be executed repeatedly based on a condition. They are also reminded of the possibility of creating an infinite loop, which occurs if the exit condition of the while loop is never met, causing the code inside the while loop to repeat continuously.
Students will be able to:
In this lesson, students will explore how to use for loops in their Python programs. They will be reminded how to use i
as a variable in their programs as well as how to control the values of i
by altering the starting, ending, and interval values.
Students will be able to:
i
as a counteri
in a for loopIn this lesson, students learn about break and continue statements. A break
statement is used to immediately terminates a loop. A continue
statement is used to skip out of future commands inside a loop and return back to the top of the loop. These statements can be used with for or while loops.
Students will be able to:
In this lesson, students will use control structures within control structures, which are referred to as nested control structures.
Students will be able to:
In this lesson, students review content with a 15 question Unit Quiz.
Students will be able to:
Students will have an opportunity to apply all they’ve learned about looping to create a password authentication program a user can interact with.
Students will be able to:
In this lesson, we learn about Functions. Functions let us break our program into different parts that we can organize and reuse however we like. Functions are the main building block of complex Python programs.
Students will be able to:
In this lesson, we dive deeper into the concept of functions by exploring how to use parameters.
Students will be able to:
In this lesson, we explore where variables exist and what the difference is between a local and global variable.
Students will be able to:
In this lesson, students explore functions with return values and deepen their understanding of and ability to use functions.
Students will be able to:
In this lesson, students explore Python’s way of handling errors with exceptions.
Students will be able to:
In this lesson, students review content with a 15 question Unit Quiz.
Students will be able to:
Students will learn how indexing can be used to specify a specific character in a string based on location.
Students will be able to:
Students will learn how slicing allows them to select multiple string values at once from a given string.
Students will be able to:
In Python, strings have the property of “immutability” which means they cannot be mutated or changed. You can assign strings to variables, and reassign new strings to the same variable, but individual characters within a string cannot be reassigned.
Students will be able to:
In this lesson, students will look at the use of for loops with strings. Since both string indices and for loops index at zero, the len
value can be used to go through strings in a for loop. Indicies don’t need to be explicitly used. The syntax for character in my_string
can be used to go through a for loop one character at a time.
Students will be able to:
In this lesson, students will see how the in
keyword can be used in an if
statement to see if a particular letter or substring is in a string.
Students will be able to:
in
keyword to check if a character is in a stringIn this lesson, students will learn about string methods. Methods are basically functions that you call on objects and can be used to alter our strings in different ways.
Students will be able to:
In this lesson, students review content with a 20 question Unit Quiz.
Students will be able to:
Students will have an opportunity to apply many of the concepts they’ve learned so far to create a game where the user can compete against the computer to earn the high score.
Students will be able to:
In this lesson, students will learn about and practice using tuples. A tuple is a heterogenous, immutable data type that stores an ordered sequence of things that can be accessed using indices.
Students will be able to:
In this lesson, students will learn about their second data structure, lists. A list is a mutable, heterogeneous data type that stores an ordered sequence of things.
Students will be able to:
In this lesson, students will learn how lists can be iterated over in a similar way to strings.
Students will be able to:
Methods, in general, are like functions that can be called on objects. Students have seen previously how string methods are called on strings. In this lesson, students will learn about the various list methods that can be called on lists!
Students will be able to:
In this lesson, students review content with a 15 question Unit Quiz.
Students will be able to:
In this lesson, students will learn how 2d lists are stored and how to use indexing and slicing to extract specific items from a list of lists.
Students will be able to:
In this lesson, students will learn how to use list comprehensions to alter the items in a list with one line of code.
Students will be able to:
In this lesson, students will learn how packing and unpacking makes assigning variables to list items very easy and quick.
Students will be able to:
In this lesson, students will see how dictionaries differ from other data structures and why they are useful.
Students will be able to:
In this lesson, students review content with a 15 question Unit Quiz.
Students will be able to:
Students will have an opportunity to apply many of the concepts they’ve learned so far to create a word-guessing game.
Students will be able to:
This lesson outline focuses on explaining the concepts and importance of file I/O without delving into coding syntax. It provides a foundation for students to understand the fundamentals before diving into the actual coding aspects in subsequent lessons.
Students will be able to:
In this lesson, students learn how to read all or a given number of characters from a file using Python.
Students will be able to
open()
function to open a file in read mode and the close()
method to close the file properly.read()
method and store them in a variableFileNotFoundError
, when attempting to read a file.In this lesson, students learn how to use the readline()
method to read lines from a file.
Students will be able to:
readline()
method in Python for reading lines from a file.readline()
to read a single line at a time.readline()
.readline()
.readline()
method to solve practical problems and perform operations on each line read from a file.In this lesson, students learn how to use the readlines()
method in Python to read multiple lines from a file, and practice performing various operations and manipulations on the line
Students will be able to:
readlines()
method in Python.readlines()
.readlines()
and perform operations on each line.readlines()
in file handling scenarios.In this lesson, students learn how to write to existing files. They will explore two modes: “w” for overwriting a file and “a” for appending to a file.
Students will be able to:
In this lesson, students learn how to manipulate the file pointer position using the seek()
method in Python. They will explore how seek()
can be used to move the pointer to a specific location within a file, enabling reading and writing operations at desired positions.
Students will be able to:
seek()
method to move the file pointer to a specific position within a file.seek()
operations.In this lesson, students will explore the vital role of software engineers within a software engineering team. They will learn how software engineers collaborate, communicate, and contribute their specialized skills to develop and maintain high-quality software applications that meet the needs of users.
Students will be able to:
In this lesson, students will explore the important role of Quality Assurance (QA) engineers on a software engineering team. They will learn about the responsibilities of QA engineers, their impact on software quality, and how their expertise ensures a smooth user experience.
Students will be able to:
* Understand the role and responsibilities of QA engineers in a software engineering team.
* Recognize the importance of quality assurance in ensuring software reliability and user satisfaction.
* Explore the techniques and methods used by QA engineers to identify and report software defects.
In this lesson, students will explore the vital role of designers on software development teams and learn how they collaborate with developers to create intuitive and visually appealing user interfaces.
Students will be able to…
In this lesson, students will explore the crucial role of a project manager within a software engineering team, understanding their responsibilities in planning, coordinating, and executing projects.
Students will be able to: