Skip to main content

Enroll in Recorded Course

You must be logged in to enroll.

Need help enrolling?

Watch our video tutorial.

Watch video
Thumbnail
Course name
Computer Programming 101 with Domenico Ruggiero
Recorded course taught by Domenico Ruggiero for High School Programming
Summary

 

Instructor Access (Optional grading support) is available for this course! See the sidebar to the left for signup information.

  NOTICE: This is an older course recorded with Adobe Connect and/or Vimeo recordings. We are currently working to replace the recordings with new Zoom recordings. Please note there are recordings from various years this course was taught. Your student can watch all of them or just one. Some recordings are better than others.  Please don't hesitate to email us at homeschoolconnections@gmail.com with any questions.

 

How To Get the Most Out of Computer Programming 101 with Domenico Ruggiero:

  • Software - Before much of the course studies can be performed, a version 3.x of Python should be installed on your computer.  Python is available for most (if not all) operating systems -- Windows, Mac, Linux, etc. See my "News" posting about downloading and installing the version 3.1 Python I have available on Caravel which includes the installation files for the PyGame module.  If the packaged Python 3.1 and PyGame files don't work, the student may need to download Python 2.7 and the PyGame modules for it. Consult the Python and PyGame websites for installation troubleshooting if any difficulties are encountered.

  • Learning Objectives - There are multiple learning objectives for this course.  First is getting practice in the actual programming of a computer by going through the motions, even if there are some lines of code that seem strange and foreign... that will all change over time.  The point here is to get fingers on the keyboard, going the motions of saving and running programs to "debug" them, and becoming familiar with the syntax of the code and the sequence of commands. These assignments come in the form of "code images" which are to be programmed in their entirety.  They are a "code image" so that the code can not be just copy-pasted... it forces the student to actually code in the programs. Once complete, they should run their programs and look for breaks/bugs in the program. Bugs will always find their way into programs... even for the most experienced programmer.  When this happens, there's a lesson to be learned in the discovery and correction of bugs. Programs are complete when they can run without error and accomplish what they are designed to do.

  • If Instructor Access has been purchased (see Caravel for more details), then program code can be submitted for instructor review and grading.  In addition to the grading, a high-fidelity analysis is performed by doing a "Code Compare". This is a program run on the Instructor's computer that will look at every difference in the student's program compared to the instructor's program.  This finds every change, right down to typos, capitalization differences, extra spaces, and more If the student's program wasn't working correctly, the Code Compare pinpoints the differences.

  • Programs will grow increasingly complex as more and more of the "program building blocks" are introduced.  The early programs gather some information from the user, perform some math operations, and print the results to the screen.  Later programs will utilize graphical user interfaces, functions, object-oriented programming practices, drawing tools, and more.  Most early programs utilize the "code image" approach mentioned earlier... later programs are creatively designed by the student. Examples of student-built programs is when they utilize some of the programming drawing tools to create a program that produces Catholic-themed art.

  • Periodic quizzes and the final exam will test the student's knowledge.  They are comprehensive in nature with a wide variety of questions. Some questions speak to Python programming syntax, others require the student to evaluate a small program.  Students take the quiz "open book" and can utilize programming tools to evaluate the small programs. Multiple attempts are allowed until the student has gained maximum knowledge... the best score of all attempts is the grade that is recorded.

 

Total Classes: 15

Prerequisite: 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.

Suggested Grade Level: 7th to 12th grade.

Suggested High School Credit: 1 full semester Computer Programming

 

Instructor: Domenico Ruggiero

 

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. 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 very early in 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. Time permitting, custom game design will be touched upon near the end of the course.

The Python programming language is a modern computer language and one of the easiest languages to use (and there are MANY out there). Once the basics of programming are mastered, individuals find it easy 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.

 

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.

 

©2017 Homeschool Connections and Domenico Ruggiero, MSIE-EM.  All rights reserved. This course is designed by Domenico Ruggiero.

  • This material is only to be used for its intended purpose by active subscribers of Homeschool Connections. Any other use without explicit permission is in violation of the seventh commandment (yes, the 7th commandment) and in violation of US and International copyright laws. 

  • You may print or download to local hard disk extracts for your personal homeschool and non-commercial use only. This is not to be used for homeschool co-ops without express written permission from Homeschool Connections.

7c58a8b46f5c8fbf928eea74a532cf40074507d7.pngTechnical Help: If you experience technical difficulty with watching the recorded classes or have a question about course content, please email us at homeschoolconnections@gmail.com.

 

 

To Begin Week One, click on the Week Title below and it will expand to show that week's course materials.

Course name
Computer Programming 101 with Domenico Ruggiero
Instructor
Domenico Ruggiero
Semester
Recorded
Category
Computer Science ➤ Programming
Grade level
High School
Start time
September 8th, 2015 at 12:00 AM ET
Course type
Recorded, free with subscription
Relative due dates
Relative due dates are disabled for this course.

About Domenico Ruggiero

Domenico Ruggiero holds a Bachelor’s of Science in Aerospace Engineering from the University of Florida and a Master’s degree in Industrial Engineering – Engineering Management from the University of Central Florida. 

About Domenico Ruggiero

For most of his professional career, Domenico has worked at or near the NASA Kennedy Space Center. He has worked on the Space Shuttle Program as an Orbiter Structures Engineer for United Space Alliance. Currently, he works for a large government consulting firm where he has held many roles including Systems Engineer on the NASA Constellation Program and the NASA Commercial Crew Transportation Systems Program. More recently, Mr. Ruggiero works as a data analyst & productivity automation expert for a variety of government agencies.