Learning to program computers can open the doors to a variety of hobbies and career paths. Click on the links below to learn more and get started in two particular areas:
Course SyllabusMCHS Course #: 788Prerequisites: IT 105, Computer (IT) Essentials 780, or instructor consentCOURSE DESCRIPTION: The purpose of this course is to introduce students to fundamental concepts upon which the study of computer programming is built. The course consists of two parts - Python - a programming language that's easy to learn, yet powerful enough to be used by professionals in the software industry.
Bash Shell Script - used by technicians and network administrators to configure firewalls, web servers, and various types of other servers based on Unix or Linux operating systems.
ASSIGNMENTS: Most of the assignments for this class are listed below and designated with an [A]. The teacher reserves the right to add or remove any assignments as necessary.
Introduction to Software Systems[A1] Start by reading this lecture, "Introduction to Software Systems," created by Alexandre Denault, a professor at McGill University. Only read slides 14-35, be sure to take notes to include in your IT Notebook.
Refer to Alexandre Denault's second lecture to complete the following:
[A2] QUIZ - answer each question on slide 6 in complete sentences (turn in for a grade).
[A3] Read & take notes over slides 7-16.
[A4] Use the ASCII table on slide 16 to convert your last name to both binary and hexadecimal numbers. (For example, KOCH can be converted to: 01001011.01001111.01000011.01001000 or 0x4B.4F.43.48)
[A5] Finish reading slides 17-21 and take notes (to include in your IT Notebook).
[A6] Read this article by Neil McAllister, "We Need More Polyglot Programmers." Write a full 1 page review that
A) Summarizes the author's main points
B)Includes your reflection, AND
C)A description of how this will impact your pursuit of learning to program. (Must include this in your IT Notebook, paper should be double-spaced, Arial, size 12 font, with 1 inch margins)
Python"Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code" (www.python.org).
"Invent Your Own Computer Games with Python" - this online book teaches the basics of both programming and the Python language. Students will learn by creating games and practicing the new concepts learned. (Before you can start creating programs with the Python language, you will need to install the Python Interpreter.)
ASSIGNMENTS
Chapter 1 - Installing Python
Install Python,
[A7] Create flashcards (notecards or PPT) to learn the vocabulary.
Chapter 2 - The Interactive Shell
Read the chapter and type the examples in the interpreter,
[A8] Add the bold vocab words to your flashcards,
[A9] Create a drawing/map that describes how these key vocab words are related
Chapter 3 - Strings
[A10] Read the chapter and add the bold vocab words to your flashcards,
[A11] Create your first program by typing the code provided (save all your programs in a folder on the H: drive or flash drive).
Chapter 4 - Guess the Number
[A12] Read the chapter and add the bold vocab words to your flashcards,
[A13] Type in the code to create the guess.py program,
[A14] Create an 11" x 8.5" poster that explains/teaches others about the "while" loop (you can use the example given, but make yours colorful and educational).
Chapter 5 - Jokes
[A15] Read the chapter and add the bold vocab words to your flashcards, make sure you add notes about the escape characters to your IT Notebook.
[A16] Type in the code to create the jokes.py program.
Chapter 6 - Dragon Realm
[A17] Read the chapter and add the bold vocab words to your flashcards, make sure you add notes about functions, boolean operators, truth tables, scope, and parameters to your IT Notebook.
[A18] Type in the code to create the dragon.py program.
Chapter 7 - Using the Debugger
Read the chapter and add the bold vocab words to your flashcards, make sure you add notes about how to use the debugger in your IT Notebook.
[A19] Type in the code to create the buggy.py program. Follow the steps described to learn how to use the debugger.
Chapter 8 - Flow Charts
Read the chapter and add the bold vocab words to your flashcards.
[A20] Use Google Docs to create a flowchart for the hangman game we'll write in Chapter 9.
If you don't have a Google account, click here to create one.
Start by going to Google Docs, then select Create New > Drawing
Chapter 9 - Hangman
Read the chapter and add the bold vocab words to your flashcards.
[A21] Type in the code to create the hangman.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
[A22] Create an 11" X 17" poster that compares/contrasts the while loop and the for loop.
Chapter 10 - Tic Tac Toe
Read the chapter and add the bold vocab words to your flashcards.
[A23] Use Google Docs to create a flowchart for the Tic Tac Toe game.
[A24] Type in the code to create the tictactoe.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
Chapter 11 - Bagels
Read the chapter and add the bold vocab words to your flashcards.
[A25] Use Google Docs to create a flowchart for the Bagels game.
[A26] Type in the code to create the bagels.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
Chapter 12 - Cartesian Coordinates
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
[A27] Create an 11" X 8.5" poster that explains cartesian coordinates to high school students.
Chapter 13 - Sonar Treasure Hunt
Read the chapter and add the bold vocab words to your flashcards.
[A28] Type in the code to create the sonar.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
Chapter 14 - Caesar Cipher
Read the chapter and add the bold vocab words to your flashcards.
[A29] Type in the code to create the cipher.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
[A30] Add the brute force feature to the code and rename the program as cipherbruteforce.py.
Chapter 15 - Reversi
Read the chapter and add the bold vocab words to your flashcards.
[A31] Type in the code to create the reversi.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
Chapter 16 - AI Simulation
Read the chapter and add the bold vocab words to your flashcards.
[A32] Use the reversi.py code to create the AISim1.py program.
[A33] Follow the author's instructions to create the AISim2.py program.
[A34] Follow the author's instructions to create the AISim3.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
Chapter 17 - Graphics and Animation
Read the chapter and add the bold vocab words to your flashcards.
Download and install the pygame module. Network folder - S:\Student Read Only\MCH\Koch\Python
[A35] Type in the code to create the pygameHelloWorld.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
[A36] Type in the code to create the animation.py program. Take notes as necessary.
Chapter 18 - Collision Detection and Input
Read the chapter and add the bold vocab words to your flashcards.
[A37] Type in the code to create the collisionDetection.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Create your own examples and play with the new commands/concepts until you understand them.
[A38] Type in the code to create the pygameInput.py program.
Chapter 19 - Sound and Images
Read through the chapter and add the bold vocab words to your flashcards.
[A39] Start by creating your own two sprites: 1) a little man and 2) cherries (or some other food). Use MS Paint or GIMP, and be creative!
[A40] Type in the code to create the spritesAndSounds.py program.
To help you learn the new concepts introduced, type the examples into the interactive Python shell. Experiment and play with the new commands/concepts until you understand them.
Chapter 20 - Dodger
Read the chapter and add the bold vocab words to your flashcards.
[A41] Type in the code to create the dodger.py game.
[A42] Now make 5 modifications to improve your Dodger game and make it better. Save your final Dodger game as awesomeDodger.py and be ready to present it to your teacher.
"Dive Into Python" is a free book you can view online or download to help you learn Python.
To learn more about this unique object-oriented language, check out the tutorials located here.
Avanced Concepts - Subclassing for Beginners by Kirby Urner
Bash Shell ScriptingBash shell scripting is used mostly on Unix and Linux servers and operating systems. Firewalls, file & print sharing, web servers, proxies, etc. can be setup both at home and in small businesses using a Linux server OS. ALL Information Technology professionals should be familiar with the basics of bash shell scripting:
[A43] First begin by reading slides 6-21 from the third lecture by Alexandre Denault. Take notes and be ready to apply what you learned throughout the rest of this unit.
[A44] Use Virtual Box to install a desktop Linux operating system on your computer. You will earn 50pts if you can get to this webpage using the Linux OS installed in Virtual Box on your computer.
Start by visiting this website created by P. Lutus, "Bash Shell Programming in Linux." Open both a text editor and a terminal window in Linux, then read through this tutorial, and practice scripting by using the examples provided. Start at the top and do each example; stop when you finish the section titled, "An Advanced Example with Numbers and User Input." Be prepared to explain how this script works to your teacher.
[A45] Final Bash Shell Assignment, you have been asked by Tech Republic to write a blog entry that includes the following:
What is Linux?
Why should IT Support Technicians, Network Administrators, Security Specialists, etc be familiar with Linux? (describe advantages and uses of Linux OS).
Give at least 3 examples of how Linux can be used in everyday work or home situations (be specific and include detailed descriptions).
(Please submit your piece with the following: title, intro, body, conclusion, single-spaced)
Java Programming"Java has the advantage of ubiquity. If you program for a living, you're probably going to come across Java sooner or later. Java is showing up in all sorts of places: You can write Java servlets that run on Apache and many other web servers. You can write applets that run in the browsers that most of the world uses. . . . The heart of the matter is that Java is more fun than other programming languages(Jonathan Knudsen, Why Learn Java?)Follow this link, AP Programming Lessons w/ Java to get started in learning about the Java programming language. You may want to consider using NetBeans as you code and compile Java programs. Below is a list of assignments you will need to complete:
Lesson A1 - Introduction to Object Oriented Programming (OOP): Read the chapter, then complete the Lab Assignment A1.1 (click here to download the gpdraw.jar file - try this if you can't install the file).
Lesson A2 - OOP: Read the chapter, then complete the Lab Assignment A2.1
Lesson A3 - Primitive Data Types: Read the chapter, then complete Lab Assignment A3.1 and
Lesson A4 - Object Behavior: Read the chapter, then complete Lab Assignment A4.1 and Lab Assignment A4.2
Lesson A5 - Designing and Using Classes: Read the chapter, then complete Lab Assignment A5.1 and
Lesson A6 - Libraries and APIs: Read the chapter, then complete Lab Assignment A6.1 and
and so forth . . . .