Welcome to CPT Farmer's Programming Class!

Learning Objective
Provide an introduction to Computer Science and fundamental skills pertaining to programming and machine language. These skills will be useful for college preparation and successful job attainment. Laboratory activities are an integral part of this class. Activities include hands on experience with computer hardware and advanced programming software including Python, HTMP and Visual Basic.

The purpose of the class is to give students an opportunity to gain knowledge and concrete programming skills.

Academic and experiential learning utilizing the Python Programming Language using videos, lecture and hands on coding. Upon completion, cadets will save their work in a folder for evaluation. Cadets will work at their own pace to complete modules and exercises written by the instructor and found on the server. Students will write programs as part of the class work. Students work individually on advanced computer systems and together in teams of four using “Kagan” teaching methods. If projects are not completed on the assigned date, they are due the following day.

Note on this class: Python is an open source programming language, meaning it is free for all to use. That means the source code is all online for free reference, whenever necessary. Most lectures will be based off of CodeAcademy.com and Thenewboston.org.


1) Develop coding skills useful in multiple programming languages.

2) Establish ability to communicate complex concepts and develop creative ideas that can be developed into computer applications.

3) Develop vocational skills and knowledge of existing certifications pertaining to a career as a computer developer.

4) Maintain letter perfect standards useful for business and collegial work. Understand the importance of documentation in business and college communications.

5) Provide an introduction to Computer Science. Understand the digital society and the unique role of computer hardware and software in everyday life.

6) Provide an introduction into computer ethics and internet neutrality.

7) Understand and practice security in daily computer operations and code development.

Abstract: Daily Class Schedule

1) Lecture and current technology events.

2) Hands on work with Python Programming language. Hands on Practicum. Develop familiarity with an open source programming language called Python. This will provide the basis for operating and understanding more complex programming languages such as JAVA and C+.

3) After lecture and review of the day’s lesson. Cadets will work individually and in teams to imitate the instructor and video lessons and complete specific programming tasks on individual workstations.

Required Readings

1) Python Pocket Reference, O’Reilly publishing

2) Code: The Hidden Language of Computer Hardware and Software, Microsoft Press, Charles Petzold

3) Python Manual, www.python.org, Install on the PC with the Software package

Required Items

1) 8 GB 2 USB or greater

2) Internet connection at home

3) Headphone

Performance Standards

At the successful completion of this course, the student should be able to:

1) Describe the components of a typical computer system.

2. Explain specific programming concepts.

3) Explain how computer components communicate with each other.

4) Describe major categories of output devices used with computers.

5) Describe major categories of secondary storage devices used with computers.

6) Identify major processing components of a computer.

7) Describe the hardware and software necessary to connect to the Internet.

8) Describe the four phases of activity in a computer-based information system: input, processing, output and storage.

9) Differentiate system and application software.

10) Describe the computer resources available on a typical local area network.

11) Explain how using a computer on a network differs from using a standalone computer.

12) List the advantages and disadvantages of using a local area network.

13) List the major causes for lost or inaccurate data.

14) Describe techniques for avoiding, detecting and eradicating a computer virus.

15) Describe how computer technology affects personal privacy.

16) Differentiate shareware and public domain software.

17) Explain how the copyright law applies to computer software.

18) Employ file handling methods to save, copy, delete and rename files and directories.

19) Create, edit, save and print a word processing document.

20) Format a word processing document.

21) Insert formulas and functions into a spreadsheet.

22) Explain the TCP/IP stack and role of the IP address.

23) Create, edit, save and print charts created from spreadsheet data.

24) Describe relational database tables.

25) Create and use simple queries based on a database table.

26) Create and use simple forms and reports based on a database table.

27) View an electronic presentation.

28) Send, receive, retrieve and store email messages.

29) Perform research using the World Wide Web.

30) Perform routine desktop publishing artwork utilizing the Microsoft Suite of Applications.

31) Write simple computer programs in Python or Visual Basic.

32) Understand Cooperative Learning.

33) Explore opportunities with the Future Business Leaders of America (FBLA) and the Business Professionals of America (FPA) & CyberPatriots.

Classroom Procedures & Routines

1) Enter the classroom, go to your assigned seat and log into the computer.

2) Get to work immediately. Bell work includes reviewing notes and completing assigned projects.

3) When you are tardy it is your responsibility to confirm that CrossPoint does not list you as absent.

4) Utilize the "Parking Lot" for questions whenever possible.

5) You are required to participate in classroom discussions as well as team discussions.

6) When you are absent, contact one of your team members or Captain Farmer via email or telephone to procure missed work.

7) Be prepared at any time to change your table and team.

8) Turn in papers in the basket next to the “Parking Lot” or save in your computer folder. If I do not receive a copy you will not receive credit. You may also email me your work as a last resort.

9) Much of the work is done at your own pace. Upon completion of an assignment you are welcome to work on work from another class or advance to the next project.

10) Please be polite to your fellow students and instructor.

11) Understand the ethical use of computers. Deleting or compromising other people work on the computer network is considered unethical. This type of behavior will not be tolerated and will result in network access privilege being revoked permanently and an office referral.

12) Cadets will generally have three sessions running simultaneously. They will have open the Python programming “shell” called Idle, A text editor called Notepadd ++, Code Academy and a document with the teacher provided module.


1) Daily Work: 20%

2) Weekly Quiz: 20%

3) Employability Points: 20%

4) Desktop Publishing Projects: 20%

5) Final Exam: 20%

First Week

• Introduction to Programming, How and why are Programming Concepts Important, Introduction to Python.

• Exercise 1 and 2 of Code Academy Python Syntax, Variables and White Space

Second Week

• Math and Comments in Python, Friday Project, Making a Tip Calculator

• Finish up Code Academy exercises Python Syntax and Start Tip Calculator

Third Week

• Printing words and numbers in Python and beginner Strings; Code Academy String And Console Output

• Friday Project will be Code Academy Project: Date Time

Fourth Week

• Control Flow, Booleans and If Statements; Code Academy Conditionals and Control Flow Exercises

Fifth Week

• Code Academy Project: PygLatin

• Although this project uses mainly prior knowledge it will take a while to write. (This is the week when the programming begins to become complicated so the Student and Teacher will work through the project together.)

Sixth Week

• Code Academy Exercises on Functions

• This weeks project will be on both Thursday and Friday

Seventh Week

• Code Academy Exercises in Lists and Dictionaries

• Friday Project: A Day at the Supermarket

Eighth Week

• Code Academy lesson on Utilizing Lists and Functions uses mainly old knowledge

• Friday Project: Project Battleship

Ninth Week

• Week long project on Code Academy: Student Becomes the Teacher – Do During break

Tenth Week

• Code Academy lesson on loops

• Thursday Project (no school on Friday); Project: Practice Makes Perfect

Eleventh Week

• Code Academy Lesson Advanced Topics in Python

• Student should do Code Academy Combining Concepts not Required

• Friday Project: Project: Introduction to Bitwise Operators

Twelfth Week

• Classes and Object Oriented Programming lessons in Code Academy

• Friday Project: Project: Classes

Thirteenth Week

• Working With Files. Final Exercise in Code Academy