Math and Physics Courses for Homeschool Students
Online classes and live classes in the Atlanta area
Computer Science

Username:
Password:

Description
An introduction to computer science with a primary emphasis on software development, taught by Derek Owens and Tom Robinson.
Course Content
Prerequisites:
  • Basic computer skills. Students should have a basic knowledge of everyday use of a computer before beginning this class, including a basic working knowledge of the following terms and concepts: text file, hard drive, RAM, directory or folder, subdirectory, copying files.
  • Algebra 1, recommended but not strictly required. Students should understand the mathematical concepts of variables, expressions, and functions. These ideas are routinely used in computer programming.

Chapter 1: Introduction

  • What is Python?
  • The Python development environment
  • Your first program
  • An introduction to variables and loops
  • Basic Computer Architecture
  • An Introduction to Binary Numbers

Chapter 2: Programming in the Python Language

  • Basic Computation
  • Variable and Data Types
  • Lists and Maps
  • Conditional Statements
  • Loops
  • String functions

Chapter 3: Functions and Objects

  • Functions as Subprograms
  • Functions with Parameters
  • Functions with Return Values
  • Variables and Scope
  • Python's built-in Functions and Modules
  • Introduction to Classes and Objects
  • Understanding ASCII text files
  • Creating your own Modules

Chapter 4: Graphics

  • The Tkinter Tool Kit Interface
  • Basic Layout and Tkinter Widgets
  • Two Dimensional Drawing
  • Basic Animation
  • A Realistic Physics Simulation

Chapter 5: GUI Applications

  • Advanced Geometry Management
  • Usability Considerations
  • Creating Working GUI Applications

Chapter 6: Application: Data Encryption

  • Codes and Ciphers
  • Encoding and Decoding Simple Ciphers
  • Working with Binary Data
  • Encoding data in an image
  • Creating a Working Encryption Application

Chapter 7: Introduction to HTML

  • The basic HTML tags
  • A simple web page
  • Using FTP to transfer files to a web server
  • The client-server architecture of the world wide web
  • Inside a TCP/IP packet
  • Hyperlinks and images in web pages

Chapter 8: HTML Beyond the basics

  • Formatting and page layout
  • Design considerations: Good and Bad web pages
  • Introduction to CSS
  • Embedding media
  • Performance considerations: data rate, bandwidth, file sizes
  • Building your own web page

Chapter 9: Javascript

  • Introduction to Javascript
  • Javascript syntax
  • Program control in javascript
  • functions in javascript

Chapter 10: Introducing PHP

  • Server-side versus client-side programming
  • PHP Basics - embedding code into a web page
  • Using PHP to return HTML to the client
  • Using PHP to process data from the client

Semester Exam

Materials
Students will need to bring a laptop to class on most days. If a student does not have a laptop, a parent has already offered to loan some extra laptops for the class. Students will need a computer at home with an internet connection. No textbook will be required for this class. Students will be accessing various resources online and Mr. Owens will be providing materials in print and online for the students to study.
Difficulty Level
This is a full year course in computer science with the main emphasis being on writing software. This class will be offered at two levels, Regular and Honors, and in doing so is expected to accommodate a fairly broad range of student ability. Substantially more will be expected of the Honors students. Students may enroll without knowing whether they wish to take the Regular or the Honors version of the course, and may decide as the course progresses and may switch during the course if needed.
Homework, Tests and Grades
Students will be given specific assignments to complete each week. Assignments will be graded and parents will be kept informed with regular progress reports. To maximize instructional time in class, tests will be given at home. One final exam for each semester will be taken in class at the end of each semester. Students will receive a numerical grade for each semester and for the year. The grade is calculated based on tests, graded homework and the final exams.
The Instructors

Mr. Owens has enjoyed computers and programming his entire life. During high school he learned Z-80 assembly language on his TRS-80 computer and studied AP Computer Science the first year it was offered by the College Board in 1984. He studied FORTRAN in engineering school in the late 1980's. He spent two years teaching AP Computer Science in C++ at The Westminster Schools in Atlanta, and spent two years at the graduate school at Mercer University studying C++ and Java. He worked as a web developer and Linux system adminstrator during the internet boom at the turn of the century, and then spent five years working as a software consultant, developing financial software and data management applications for banks and large businesses. Mr. Owens currently enjoys creating and maintaining the software that helps operate his small business, and also maintains the website for his business and the website for the LAC homeschool group.

Mr. Robinson graduated from Michigan State University in 1985 with an Electrical Engineering / Computer Engineering degree. At MSU, he played football for four years and was recognized with the Potsy Ross Award for leadership scholastically and athletically. Mr. Robinson has over 25 years of business and technology experience with leading companies including IBM, Gartner, and Computer Associates. He and his wife successfully home schooled their three daughters, who all attended college on soccer and academic scholarships, and who have now graduated and are pursuing careers in physical therapy, accounting, and nursing. Mr. Robinson will apply his passion for teaching Math and Computer Science using Derek Owens' curriculum.

All material Copyright (C) 2006-2017 by Derek Owens