(Pre-requisites - NONE
Upon successful completion student will be promoted to project development (Python - Level 2)
Two things that make Python attractive are that it’s a free download and that it comes with a free development environment, IDLE. In our first lesson, we’ll start off right by going on a brief tour of both the language and the environment. You’ll see that with IDLE, you can either execute individual statements directly at the interpreter’s prompt or save your commands in a program file to be run later. By the end of Lesson 1, you’ll be fully prepared to work in IDLE using either method.
Programs aren’t terribly useful unless you have some way to store values in memory. In Lesson 2, you’ll get up to speed with Python variables, and then you’ll learn how to use these variables to get input from the user. With this, you’ll be able to write Python code to make your programs interactive, making them more useful and a lot more interesting.
There are many times when you’ll want one set of statements run in one situation and another set run in a different situation. For that, you’ll need to use Python’s if decision structure. In Lesson 3, you’ll practice with Python’s if the syntax and learn how to write both simple and complex conditions to select which statements should be run.
Keeping with the theme of programming structures, today’s lesson is all about the repetition structure. You’ll learn how to write both while and for loops in Python so that your statements can be repeated over and over until some condition is met. You’ll also learn some looping features that are unique to Python that help to make your programs more powerful.
Modular programming gives you the ability to write code once, give it a name, and then call on it by name at a later time. In Lesson 5, you’ll learn how to write modular programs by creating functions. You’ll also learn how to pass data into the functions and then to return values back, building on this knowledge as you proceed through the course.
Building on the concept of modular programming, next we’ll explore object-oriented programming. This is a popular technique, and in Lesson 6, you’ll get an introduction to how it’s done in Python. You’ll learn how to create a class definition and place variables and functions inside. Then later, you’ll use this class to create some objects and work with them to solve simple problems.
It’s now time to take some of the topics we’ve covered and apply them to something a little more creative. Today, we’ll explore Python graphics, where you’ll create and work with simple shapes and even get a chance to write programs that simulate animation so that you can watch your shapes move across the screen.
Now that you’re comfortable with the decision and repetition structures, as well as ways to organize your code, it’s now time to turn to ways of managing your data. In this lesson, we’ll look at two of Python’s basic data structures: lists and tuples. You’ll learn how to create these types of variables and use them to manage data for your programs.
While lists and tuples are useful structures, they put the burden on you to keep track of your data’s position within the structure. However, the dictionary structure gives you the ability to associate a word with each piece of data. In this lesson, you’ll learn how to use dictionaries to write useful programs in fewer lines of code that’ll execute in a shorter amount of time.
Programs that work with data in memory are great. However, it’s also important to be able to save the data in a file for later use. In Lesson 10, you’ll learn how to read from and write to data files. You’ll also learn about Python’s shelve feature, which is a database-like file that allows for quick and easy access to large amounts of data.
Let’s face it, our programs sometimes encounter problems as they execute. In object-oriented terms, you’d call this an exception. If the exception isn’t handled, the program will crash. In this lesson, you’ll learn about Python’s exceptions and learn how to handle them to keep the program up and running, even when something unexpected happens.
You’ll finish the course by exercising the creative part of your brain again. This time, you’ll learn how to create a graphical user interface (GUI) in Python. You’ll learn how to display text with labels and get user data with text boxes, buttons, radio buttons, and checkboxes. Now you’ll be able to integrate all the conceptual material that you learned in the course with an attractive, easy to use interface to make for useful, interactive programs.
II. TEACHING STRATEGIES
The course material is designed to appeal to a variety of students, from traditional learners who thrive on written text to audio-visual students who enjoy a multi-media format. All content is delivered through an online system that allows students to work seamlessly both in the classroom and at home.
The main chapters concentrate on Python programming and computer science topics. Certain states may require additional topics ranging from computing ethics and security to career exploration to the impact of computers on modern society. The course contains additional supplemental chapters at the end that can optionally be used to meet common state requirements. Teachers may choose to assign Supplemental Lessons as desired to meet state standards or student interest.
The final “Creative Project” is optional and can be completed in small groups
III. COURSE PLANNER
Some classes may move faster or slower than the suggested pace.
The planner assumes students are working daily with approximately 45 to 60 minutes of class time. In most cases, the planner estimates one day per lesson (including the lesson quiz), one day per graded chapter activity (lab), and one day per chapter test. Some larger labs are assigned more time.
IV. READING AND OBJECTIVES
Chapter One: Fundamentals of Python
• Introduction to Python
• Running Python Programs
• Writing Python Code
Chapter Two: Working with Data
• Data Types and Variables
• Using Numeric Variables
• Using String Variables
Chapter Three: Input and Output
• Printing with Parameters
• Getting Input from a User
• String Formatting
Chapter Four: Making Decisions
• Logical Expressions
• The “if” Statement
• Logical Operators
• More Complex Expressions
Chapter Five: Finding and Fixing Problems
• Types of Errors
• Troubleshooting Tools
• Using the Python Debugger
Chapter Six: Lists and Loops
• Lists and Tuples
• List Functions
• “For” Loops
• “While” Loops
Chapter Seven: Numeric and Data
• Dates and Times
• Advanced Data and Time Management
• Random Numbers
• The Math Library
Chapter Eight: Working with Strings
• Character Data
• String Functions
• Input Validation with “try / except”
Chapter Nine: Functions
• Writing and Calling Functions
• Function Inputs and Outputs
• Local and Global Scope
Chapter Ten: Python Classes
• Thinking about Objects
• Class Variables and Methods
• Managing Class Files
Chapter Eleven: Class Instances
• Creating Objects with Instance Data
• Instance Methods
• Managing Objects
Chapter Twelve: Food Fight Project
• Introducing “Food Fight”
Chapter Thirteen: Creative Project Requirements (Scale as desired to meet available time) Design
• Project Life-cycles and teams Coding Testing
Supplemental Chapter :
• Global Computing Issues
• Managing Your Digital Identity
• Impact of Computing
• Artificial Intelligence
Note: "This course outline is a general guideline, we go by the pace of the group, when it comes to coding and creativity students have to get the hang of it. We try to cover everything as much as possible.