Need help enrolling?
Watch our video tutorial.
- Thumbnail
-
- Course name
-
Computer Programming 101 with Domenico Ruggiero
- 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.
Technical 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
- This material is only to be used for its intended purpose by active subscribers of Homeschool Connections or purchasers of the course. Any other use without explicit permission is in violation of the seventh commandment, and in violation of US and International copyright laws.
- You may print or download to your own storage 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.
- Upon completion of the course, you must delete all copies of course materials from any storage on which you saved permissible extracts.
Domenico Ruggiero
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.
© 2015 Homeschool Connections; Domenico Ruggiero. All Rights Reserved.
Violation of the above copyright policies may result in expulsion without any refund and/or legal action.