The Logic of Computer Programming (Fall)
Grades 9-12th (open to 8th only under required pre-requisites): Designed for high school students, to gain understanding of the logic behind computers and computer programming to develop their own programs and more easily learn any programming language. Discussions will also involve issues surrounding the Christian’s use of computer technology from a Biblical, Classical perspective. It is recommended that the student has completed Formal Logic or has a sufficient Math background for this course.
“Technology is a soaring exercise of the human imagination” -Daniel Bell
From the beginning of man’s creation, God has set it in the human heart to create through technology (Genesis 4:21-22). Technology has the power to be used for good and evil de-pending on the heart of the man that uses it. In the Scriptures we read of a city of sin being built called Babylon, and how technology was used to build a tower for the exaltation of self and ascension to heaven. However, we also read of a city of God (Genesis 11:3-4, Hebrews 11:10).
There is no doubt that the technology of computers along with a wide-ranging plethora of programs and applications have transformed the way our world communicates and solves everyday problems. Consider, for instance, our ability to take courses online through Scholé Academy. Like any technology, computer programming can be used for evil or for good, for the glory of man or of God. As Christians we ought to use technology to serve our Creator and further His kingdom here on earth.
Most students, while being familiar with the technology of a computer, have not been taught the details of how a computer works or have the ability to use it to create a program of their own. They have not thought philosophically, classically or Biblically about the important cultural implications and decisions that must be made regarding these ever-changing technologies.
In this course, students will step back from their familiar use of technology and with a classical rather than modern approach, learn the logic of computer programming: how computers work, and what logical processes they use. As they grasp these realities, they will come to a place where they will begin more easily to think like a computer or think in code, with the ability to create programs they can run for friends and family in a creative way. Along the way, they will be asked to consider important questions about the Christian’s use of technology so they can make better, more informed decisions about what they believe and what they will do in the technologically obsessed culture in which we live.
As students learn to understand the logic of how a computer processes and thinks, which will be compared to that of a human (computers, after all, are created by humans), they will develop their own coding logic to solve problems in pseudocode (coding logic in an everyday, easy to understand language) and flowcharts (charts showing coding logic in an easy to understand, visual way). After they plan their code, they will create their program in the language of QBasic. Students will also be introduced to Web Design.
The result will be that students will become more aware of how the computer technology our world uses works and be able to create functional programs their family and friends can use as a result. They will be well equipped to more easily learn any new computer programming language and think in code. They will be able to make Biblical, ethical decisions about what technology they will participate in and how they will do it in a way that honors and serves God.
This course will also prepare students for a second semester course entitled “The Art of Computer Programming.” Taking this course will ensure that they are able to move more quickly into developing creative, visually based programs in Visual Basic and Web Programming by more easily grasping the logic of a new, visually based language. These two courses will help students to excel in computers and computer programming should they continue on in computer studies or to develop functional computer programs that will help in the career or business of their choice. It will help to develop their creativity and problem-solving abilities in the process.
This has been an excellent experience for my son. Interesting, challenging, insightful, and all from a Christian worldview. We are so thankful to have had a technology class grounded in truth. My son has shared that Mr. Belfry is engaging, knowledgeable, and very helpful.
This is an exceptional course. Our son actually looked forward to each session. The assignments challenged him and provided unique insights into the realm of computers and advanced technology.
Mr. Belfry’s thoughtful, faithful, and engaging instruction in his Logic of Computer Programming class has been such a blessing for us. My son loved learning how to code programs and build games with a new language. Mr. Belfry taught not only with step-by-step instructions, but also by inviting students to think about programming through the lens of the Bible, virtues, and the world around them. We are so grateful!
Here are several examples of programs that students made during the 2022-2023 Academic Year in this course:
Here are several examples of essays on new technology and dystopian short stories by students during the 2022-2023 Academic Year in this course
At Scholé Academy, we have carefully considered how we should engage our contemporary culture as those who believe that Christ is the Truth (John 14:6), and that all truth has its source in him. We think it is important to provide our upper school students (in grades 7-12) with tools and opportunities for critically examining various cultural trends, issues and mores through the lens of orthodox, Christian beliefs. Being confident in the truth revealed to us in creation, the Scriptures, and the tradition of the church, we are not afraid to follow the truth and its implications nor to address error and falsehood. … Read more about our Faith & Culture.
For each skill instructors have determined whether it is a prerequisite skill or a skill to be developed throughout the course. For lower school, instructors indicate where parent support is expected.
- With Parent Support: Skills that most lower school students will need help with.
- Developing: Skills that the instructor will help develop and emphasize throughout the year.
- Mastered: Prerequisite skills that the instructor is expecting students to possess.
- With Parent Support
- Be able to set notifications settings to alert the student of class announcements, homework assignments, due dates, instructor comments made on assignments, instructor comments made on individual student submissions, instructor comments made on graded items, etc.
- Be responsible for reviewing teacher feedback, suggestions and comments about student work and employing that feedback as necessary.
- Be able to manage Canvas assignments and submissions (view assignments, check for teacher messages, submit homework as pdf file, submit revisions if necessary, set Canvas notifications for the class, view class notifications when posted, etc.).
- Be able to review notifications ongoing throughout the year; notifications which include: class announcements, homework assignments, due dates, instructor comments made on assignments, instructor comments made on individual student submissions, instructor comments made on graded items, etc.
- Be able to respectfully and wisely engage with other students and the instructor on Canvas discussion boards.
- Be able to respectfully, wisely and formally engage with instructor through private Canvas messaging.
- Be able to build and use alphanumeric outlines as part of the writing process.
- Be able to self-edit written submissions for grammar and spelling mistakes.
- Be able to employ the feedback of the instructor into future edits and submissions of the assignment.
- Be able to build well organized paragraphs which employ (among other skills) topic sentences, transition sentences, clear linear thinking throughout the essay.
- Be able to build a logical, well-reasoned argument through a written essay providing sound reasoning (i.e. true premises, valid arguments, sound conclusions).
- Be able to request a family or peer to edit submissions, but understands these requests should be for the purposes of raising important questions for the student to consider and suggesting minor edits. The student understands that family or peer editors should not be reworking of sentences, redefining terms, building new concepts, building arguments or writing passages for the student.
- Be able to hand-write answers in complete sentences.
- Be able to write sentences with basic sentence syntax (i.e. capitalization of first word in a sentence, punctuation at the end of each sentence, space between sentences, capitalization of proper nouns, each sentence having a subject and predicate, etc.).
- Be able to spell at grade level and employ course vocabulary cumulatively throughout the course.
- Be able to read material independently and identify questions which require clarification or further explanation from the instructor.
- Be able to mark, underline or highlight important words, definitions or concepts within a text being read both while reading independently and reading corporately as a class.
- Be able to identify key terms in a passage, and follow the author’s argument.
- Be able to read material independently and identify the information which might be relevant to course discussions and objectives (even if the student doesn’t fully understand all of what’s being read).
- Be able to listen to the author’s argument and understand it even if the student disagrees with the conclusion reached or reasons given.
- Be able to employ basic MLA formatting skills (i.e. 1-inch margins, double spacing, heading on paper).
- Be able to employ MLA citations for (for quoted material and referenced material) through the use of footnotes or endnotes, bibliography, work-cited page. Student should have a concept of what plagiarism is and know how to avoid it.
- Be able to type short answers in complete sentences.
- Be able to type paragraph essays (short essays, and 5 or more page essays).
- Be prepared to generate thoughtful questions to enhance the class discussion, to identify areas needing clarification, and to make valuable connections with other course content.
- Be prepared to thoughtfully answer questions when called on in a group setting, during class.
- Be prepared to volunteer thoughtful comments, answers and ideas in a group setting, during class.
- Follow along with instructor-led note-taking and record notes during class.
- Follow along with instructor-led workbook completion and record answers during class.
- With Parent Support
- Understand the difference between assignments given by an instructor and the necessary and independently initiated need for private study of material.
- Be able to schedule and manage multiple projects from multiple instructors and courses.
- Be able to schedule time outside of class to complete independent review of materials.
- Be able to determine the best places and ways to study at home (i.e. quiet, undistracted, utilizing various methods of review (auditory, written, visual, practice tests, flashcards, etc.).
- Be responsible to study at home for quizzes, tests and other assessments.
Required Course Texts:
The course text is A Course in Programming with QBASIC, which is available from Amazon here.
Required Free Software: Please download and prepare the following software ahead of the course:
Students should also install QBASIC 64 on their computer, found here: https://github.com/QB64Team/qb64/releases/tag/v2.0.2
Optional Course Texts:
- Papers and essays will be submitted using basic MLA formatting guides. The MLA Handbook for Writers of Research Papers — 7th Edition may be a helpful resource.
- For a great introduction to coding logic in general: How to Think Like a Coder: Without Even Trying by Jim Christian, which is available from Amazon here.
Students should have an account created on https://replit.com/ for QBasic, which can be used for simple programs.
Students should have Notepad++ for website development, found here: https://notepad-plus-plus.org/downloads/
Peter Belfry has a range of teaching and tutoring experience in a variety of subjects and age levels from kindergarten through to adult education at the college level and has taught at several classical, Christian and public schools. Currently, he serves as a professor of computer science with Canadore College, teaching courses on Operating Systems and programming languages such as Windows, Linux, HTML, C++ and Visual Basic. Peter holds an Honors BA from Trent University in History as well as a BA in Education, specializing in History and Computer Science. He holds an MA from Knox Theological Seminary in Classical and Christian studies, which provides him a background for teaching from a classical perspective. For his MA program, he read many of the Great Books as well as studied Scripture and church history. Peter has completed a week-long teacher training with the Association of Classical Christian Schools and Rockbridge Academy. His favourite piece of classical literature is Dante’s The Divine Comedy. In addition to teaching, Peter also has experience serving in a pastoral role and enjoys volunteering to serve in his local church and community. He helps in evangelistic outreach as well as teaching lessons from the Bible. Peter has experience and training as an English as a Second Language instructor as well. He has experience teaching both online and in person. He believes in Scholé’s approach in seeking “restful learning” and believes that education should be life-giving and freeing for the soul as it should acknowledge the Lord Jesus as the source of all that is true, good and beautiful. Peter lives in the North Bay, Ontario area with his wife and twin boys. firstname.lastname@example.org
Computer: You will need a stable, reliable computer, running with a processor with a speed of 1 GHz or better on one of the following operating systems: Mac OS X with Mac OS 10.7 or later; Windows 8, 7, Vista (with SP1 or later), or XP (with SP3 or later). We do not recommend using an iPad or other tablet for joining classes. An inexpensive laptop or netbook would be much better solutions, as they enable you to plug an Ethernet cable directly into your computer. Please note that Chromebooks are allowed but not preferred, as they do not support certain features of the Zoom video conference software such as breakout sessions and annotation, which may be used by our teachers for class activities.
High-Speed Internet Connection: You will also need access to high-speed Internet, preferably accessible via Ethernet cable right into your computer. Using Wi-Fi may work, but will not guarantee you the optimal use of your bandwidth. The faster your Internet, the better. We recommend using a connection with a download/upload speed of 5/1 Mbps or better. You can test your Internet connection here.
Headset: We recommend using a headset rather than a built-in microphone and speakers. Using a headset reduces the level of background noise heard by the entire class. Headset Recommendations: USB | 3.5mm
Zoom: We use a web conferencing software called Zoom for our classes, which enables students and teachers to gather from around the globe face to face in real time. Zoom is free to download and easy to use. To download Zoom:
- Visit zoom.us/download.
- Click to download the first option listed, Zoom Client for Meetings.
- Open and run the installer on your computer.
- In August, students will be provided with instructions and a link for joining their particular class.
Explore our courses!
First, read the available course descriptions, noting prerequisites, target grades, and course objectives. If you think your student is prepared for the course, go ahead and register. After registration, a placement assessment may be provided to students, depending on the course and the student’s previous enrollment with Scholé Academy. Registration is finalized when the student’s placement assessment has been returned by the course instructor with placement confirmation.
Read the Student-Parent Handbook.
Please take careful note of our teaching philosophy, our technology requirements, our school policies, the parent agreement, and the distinctions between our grade levels.
Double-check the course section dates and times.
Make sure they don't conflict with other activities in your schedule or other courses you are purchasing. Our system will not catch double-bookings!
You're ready to add course selections to your cart!
Our Assistant to the Principal will be in touch with you after your enrollment to help you with next steps, including any placement evaluations that may be required for your course selections.
This registration will be finalized when the student's placement assessment has been returned by the course instructor with placement confirmation.