Introduction

Welcome to Python Programming Level 1! This is an introductory course in the algorithmic foundations of computer science as well as beginning programming skills. Through the simple but powerful Python language, you will learn the basics of how to communicate with machines and use them in problem-solving through a variety of fields ranging from math and science to music and video games.

Prerequisites

You will not need any prior programming experience to take this course. However, you do need to be familiar with the basic “files and folders” paradigm of modern computer operating systems like Microsoft Windows and Mac OS. You also should be comfortable with using a web browser, searching for materials on the Internet, and downloading/installing software on your computer. If you are not yet computer literate, please ask us for materials to assist you with the core competency requirements.

Required Materials

Each student must bring their own laptop and charging device to class each meeting. Ardent Academy does not provide computers for student use. Please ensure that any parental controls on your device that may prevent you from downloading or installing any software are completely disabled. If your parent or guardian is unable to allow you full access to your machine, then you will not be able to successfully complete this course.

Network Use Policy

Ardent Academy provides access to the Internet for students enrolled in our classes to access shared resources through our Content Management System (CMS) called eLearning which is accessible at: http://elearning.ardentacademy.com. You will need a login and password to access eLearning, which is provided for you when you register for the class. Please see an Ardent Academy administrator at the front desk to receive your access credentials. Please be aware that while connected to Ardent Academy’s local area network, your use of network resources will be monitored, and there is no expectation that any data traveling to and from your device will be private. At no time should our network resources be used for peer-to-peer (P2P) services, gaming, social media, or noncourse-related use.

Behavior Policy

Ardent Academy courses requires students to demonstrate an individual discipline, focus, and adaptability that could be considered advanced for their age and grade level. We strive to maintain class environments that are appropriate to the age and maturity of participating students. Playing video games, chatting online with friends, and other nonacademic activities are prohibited during class. There are no grade-school style infraction mandates (i.e., “three strikes” or warning levels), and we are committed to providing a balanced, supportive, learning environment for all students. Those students who are unable to maintain proper respect and decorum while interacting with the instructor or their peers will be dropped from the course at the first offense.

Textbook

The primary textbook for this course is:

Python for Kids, by Jason R. Briggs (2012)

A number of homework projects are also assigned out of this book. While digital versions are available, they may be difficult to read on your machine while also working on code, so we encourage you to obtain a print version of the textbook. Supplementary text materials will be provided at no cost to students in PDF format.

Software

There is no need to install new software for beginning students. All coding will be done through a browser.

Class Format

This isn't a worksheet class. We're going to be actively discussing and breaking down into simple terms many of the concepts critical to understanding the basics of programming. There will be numerous engaging and fun projects, as well as regular online quizzes to make sure students stay on track with course concepts.

Grading Policy

While I recognize that letter grades do serve a useful purpose in academia, here in this course they are irrelevant for one major reason:

The goal of this course is to teach your child the fundamental principles of computer science, at a pace that allows them to become proficient with it, even if they have to continue working on the materials past the end of the ten class meetings.

While some students will grasp the materials immediately, others may take some more time to acquire proficiency, and that is okay! As they submit their programming assignments, and make tons of syntax, logic, and other errors along the way, they will learn what works and what doesn't. The only way to experience success in programming is through experimentation, and that requires creating a lot of programs that may not work correctly the first, second, or tenth time. The only true failure that can happen is not asking for help.

I encourage the students to contact me with questions as they work on their assignments, and hope that they recognize that self-motivation is a critical part of the learning process.

In lieu of this, the students will be graded will be distributed equally for effort and for completion. The students will also receive partial credit for adding notes to their assignments to explain where they got stuck and what they tried to do to fix the problem. 

 

Lessons

Here is the class outline:

Getting Started with the Python Software

Follow these steps to set up your computer for this class.

Lesson 1 - An Overview of Computing and Programming

Never programmed before? Afraid of computers? We'll fix that!

Lesson 2 - Variables, Operators, Conditions, Decisions

Lesson 3 - Nesting, Loops, and RNG

Lesson 4 - Strings, Lists, Tuples, Maps

Lesson 5 - Loops, RPS

Lesson 6 - Graphics with Turtle

Lesson 7 - Strings, Lists, and WordGuess

Lesson 8 - Functions

Lesson 9 - Objected Oriented Programming

Lesson 10 - Final Project and End of Course Diagnostic Exam

Where to go from here?

Congratulations, you've learned some important fundamentals about programming. Now, what can you do next?