Foundations of Programming

Course Description:
Do you want to learn the skills required to thrive in today’s high-tech workforce? Foundations of Programming will teach students the fundamentals of programming using the computer language Python. The course provides students with the concepts, techniques, and processes associated with computer programming and software development. It also allows students to explore the many vocational opportunities available in this high-demand field, as well as various points of integration between programming and the Christian faith.

Recommended Prerequisites:
Digital Information Technology

Approved by:

University of California (UC)

Grade Levels:
9th – 12th Grades

Course Types Available:

      • 1 Credit – Full course (1 credit, 12 weeks minimum / 12 months maximum)
      • ½ Credit – 1st semester only (0.5 credits, 6 weeks minimum / 6 months maximum)
      • ½ Credit – 2nd semester only (0.5 credits, 6 weeks minimum / 6 months maximum)

Biblical Integration Information:

  1. Creation: Created in the image of God (Genesis 1:26–27), humans are made to share in God’s loving dominion over creation (Genesis 1:28; 2:15). Among other things, this involves discovering and developing the potential that God has invested in his creation, including the potential for software and technology—the stuff of programming!
  2. Fall: As a result of Adam and Eve’s original disobedience, however, human nature is thoroughly and universally marred by sin (e.g., Genesis 3:14—4:16; Romans 1:18—3:23; 5:12–21). Like any other human phenomena, then, programming reflects this reality in a variety of ways: from technological pride to technicism—the idolatrous belief in technology as savior of the human condition.
  3. Redemption: Thankfully, God is in the business of redeeming technology. Contrary to so-called technical optimists and technical pessimists, he thinks of it neither as a deliverer nor as a destroyer of humanity. Instead, he finds much that is good in it, and as Isaiah 60, Micah 4, and Revelation 21 might suggest, he plans to repurpose and reprogram harmful, distorted technology for his service in the new heavens and new earth. In the meantime, his people can and should use technology for kingdom purposes: for the common good, for spiritual formation, for the promotion of the gospel, and so on. While creating software that accomplishes these purposes, Christian programmers and developers should also devote themselves to writing excellent code (cf. Colossians 3:17), editing and refactoring poorly written code for the sake of readability and maintainability (cf. Matthew 22:39), and being humble in the midst of technological mastery (Philippians 2:5–8).

Required Purchased Materials: