top of page

COMPUTER PROGRAMMING 101

HOMESCHOOL CONNECTIONS ONLINE

Course Description

This is an entry-level course for students with little to no programming experience.  It is also for those who are familiar with programming with an interest in learning Python. Computer programming develops creativity, reasoning, and problem solving skills. It provides an opportunity for the programmer to create a completely new piece of software that can be used and shared with others. During development, the programmer thinks through the proper sequence of instructions and logic needed by the computer to execute the program. And when programs don’t perform as expected, problem solving techniques are utilized to troubleshoot and resolve the issue.

Students will be “writing” executable code starting in the first lecture of the course and build upon their skills throughout the course with an ever-expanding set of commands. At the conclusion of the course, students will have an opportunity to share computer programs of their own design.  Custom game development will also be discussed during the course through the use of the Python PyGame module.  Topics related to programming, such as computer hardware, will also be discussed when applicable.

The Python programming language is a modern computer language (and there are MANY out there) and is one of the easiest languages to use.  Python is widely used in many industries with many success stories found at https://www.python.org/about/success/.  Once the basics of programming are mastered, individuals find it easier to learn more complex programming languages and utilize their unique qualities to perform specific functions best suited for those languages. Gaining an understanding of computer programming is a skillset that will serve students well personally and professionally.

Prerequisites

Installation of the Python 2 and Python 3 programming languages (free downloads from http://www.python.org) should be accomplished prior to the start of the first class. Python is available for multiple computer operating systems. Student should have a general familiarity with computers – the ability to open applications, use menu-driven commands, and type using the keyboard – so that the emphasis of time can be placed on specific programming lessons.

Course Materials

See prerequisite section for a list of required software applications. Extensive handouts and online resources provided free by the instructor. Python documentation. Some book recommendations will be provided but are not required for purchase.

Homework

Assignments will build on expanding knowledge base. Some assignments will have a Catholic theme to them. Assignments may include, but are not limited to, (1) writing small programs that perform a specific task or solve a specific problem, (2) reviewing printed code and identifying where problems exist, (3) reading resources to learn more about the various features and capabilities of Python, and (4) open creativity periods where the student will develop programs of their own design around their interests. In this course, students have an option to share their programs with fellow students via a short in-class demonstration (less than 5 minutes).

Students will also collaborate with fellow students and mentor them when needed so as to reinforce their knowledge by helping others. Students can expect 2 to 5 hours of time per week (outside of class time) dedicated to homework which is dependent upon the student’s typing rate and proficiency by keeping up with the studies. Additional time, if available, is encouraged so that the student can experiment with personal programs, “reverse-engineer” other programs, and maintain proficiency through repeated practice.

© 2024 by Domenico Ruggiero a.k.a. "The Software Maestro"

bottom of page