Course Outline
Grade 12 Computer Science Course Outline
Grade 12 Computer Science is a course that is designed to introduce the concepts of mobile app development. We will be utilizing the android studio programming environment to do development solely on the android platform due to its ease of use and ability to publish functioning apps.
Course outcomes:
The student is expected to develop skills in the following areas:
Evaluation:
In this course you will be evaluated on project work, and tutorial assignments. Some work will be marked based on completion (assignment work) and other work will be assessed based on individuated criteria. The breakdown of the marks is as follows:
Tutorials: /60%
Projects: /40%
Grade 12 Computer Science is a course that is designed to introduce the concepts of mobile app development. We will be utilizing the android studio programming environment to do development solely on the android platform due to its ease of use and ability to publish functioning apps.
Course outcomes:
The student is expected to develop skills in the following areas:
- Programming-
- Students will work primarily in Java through a series of online exercises.
- Students will complete projects in which they will create functioning apps.
- Students will modify existing projects to perform new function.
- Students will convey a knowledge of terminology regarding programming: Class, Method, Variable, Object Oriented etc. to demonstrate a working understanding of computer programming.
- Projects-
- Students will design new projects that they can code independently.
- Students will be able to design new programs with a programming chart to layout all required/desired features and components.
- Students will work in teams in a development environment to create a program by breaking up duties and assigning tasks.
- Students will work as a company with clients creating programs that fit the client's criteria. Assessments will be determined by the adherence to client criteria.
Evaluation:
In this course you will be evaluated on project work, and tutorial assignments. Some work will be marked based on completion (assignment work) and other work will be assessed based on individuated criteria. The breakdown of the marks is as follows:
Tutorials: /60%
Projects: /40%
First: Complete Data Structures on Codehs(If you have not previously)
If you have not completed the data structures section in grade 11, now is the chance to do it! If you are planning on writing the AP exam at the end of the year, complete #8 Battleship, but use the sandbox mode to complete instead of the assignments. When you have completed battleship, show Mr. Kramer, and then complete algorithms and recursion and AP test prep. If you are not planning on writing the exam, finish data structures and then go straight to the hardware unit below.
Second: C++
You will be using the website http://www.cplusplus.com/ to work on the following exercises, and will complete them using visual studio as console programs:
Make sure you read the tutorial section, starting with the compiler section, we are using visual studio 2017 or 2019. Read through the page, open a file (it will look a little different but is will work), then make sure you have the following code (and read the comments to understand why each line is important):
Make sure you read the tutorial section, starting with the compiler section, we are using visual studio 2017 or 2019. Read through the page, open a file (it will look a little different but is will work), then make sure you have the following code (and read the comments to understand why each line is important):
- River problem- You will need to create a program that takes three out of four inputs and solves for the input that is not given. In this scenario your inputs will be: width of river, speed of river, speed of boat and finally distance that the boat intersects on the other side(after being pushed down river by the current). Due by Feb. 14
- Yahtzee- using data structures, create a yahtzee game that includes all possible scoring options (scorecard here: https://www.memory-improvement-tips.com/yahtzee-score-sheets.html). Ensure that the player cannot fill the same section twice, and that they only have the set number of turns and rolls. Due by Feb. 28.
- Password Cracker- Make a program with a user input. Once the user inputs the password up to five characters, your program will use a brute force strategy to crack the password. You must include: all letters lower and upper case, numbers 0-9, and the following characters: !@#$%^&*()_ Finally, split the program into 8 parts to run on separate threads on the computer to optimize it. Due by March 30.
- Elevator- Program an elevator to travel between 10 floors. You must include a graphic in the console of the floors and the elevator by printing characters. Include graphics for the direction of travel and for people on floors that are calling the elevator. Ensure that the elevator obeys standard rules: It will not change direction to pick up a passenger unless it has satisfied all requests, and it will pick up passengers on the way ONLY if they are traveling in the same direction as the elevator. Program the elevator to receive calls from the user (keyboard input) after every floor that the elevator moves. Due by April 17.
- Board Layout Estimator-Take input from the user for the dimensions of finished lumber for a project eg:
- 4 boards X 3/4" thick X 3 1/4" wide X 22 1/8" long
- 10 boards X 3/8" thick X 2 1/2" wide x 14" long
- Etc.
- Organize the parts in data structures that store based on thickness and material type (solid wood, plywood, melamine etc.)
- Ask the user what thickness, width and length of rough material they will be using in inches
- Ask the user the cut allowance between each board (this will be added to board widths to make sure you have enough material)
- Calculate the number of boards of each thickness and type that are required for the project.
- Ask the user the cost per sheet or board foot for each material type that they have entered in the program.
- Calculate the cost total for the project (if the user ends up needing 3 1/2 boards, they need to pay for 4 of them).
- Calculate tax on top of the total.
- Display a graphic of the parts on the full size boards.
- You will need to use a desktop application with gui for this to work. The final project should be exported to a .exe file.
- Look online for information on creating a gui with visual studio 2017. An example of what a search term might be is: "How to create a C++ GUI program with visual studio 2017" This should get you on the right track.
Hardware: - Do not do this assignment!
: Complete hardware assignments with arduino:
If it says a chapter, look in: I drive/ handout /kramer /computer science 11,/ arduino support/Arduino starter kit tutorials 100-104)
Blink(example code in arduino program)
Temperature gauge (http://www.hobbyist.co.nz/?q=documentations/wiring-up-dht11-temp-humidity-sensor-to-your-arduino)
Servo Control - continuous rotation(http://www.instructables.com/id/ArduinoServoPotentiometer/)
Servo control- small rotation(http://www.instructables.com/id/ArduinoServoPotentiometer/)
Stop light(chapter 6 traffic light)
Light Theremin(I drive/ handout /kramer /computer science 11,/ arduino support/ part 2)
Stepper controller: see file below
If it says a chapter, look in: I drive/ handout /kramer /computer science 11,/ arduino support/Arduino starter kit tutorials 100-104)
Blink(example code in arduino program)
Temperature gauge (http://www.hobbyist.co.nz/?q=documentations/wiring-up-dht11-temp-humidity-sensor-to-your-arduino)
Servo Control - continuous rotation(http://www.instructables.com/id/ArduinoServoPotentiometer/)
Servo control- small rotation(http://www.instructables.com/id/ArduinoServoPotentiometer/)
Stop light(chapter 6 traffic light)
Light Theremin(I drive/ handout /kramer /computer science 11,/ arduino support/ part 2)
Stepper controller: see file below
arduino_stepper_tutorial.zip | |
File Size: | 257 kb |
File Type: | zip |
Nixie tube (chapter 12 in tutorials 105-109)
8 X 8 matrix led's (chapter 15 in tutorials 105-109)
Remote Control (chapter 16 in tutorials 105-109)
LCD screen (chapter 17 in tutorials 105-109)
Final Project of your design (check in with Mr. Kramer for available sensors and actuators). Example projects are programmable robots using servo motors, push button input games or LCD readouts for temperature/humidity sensors to output information for a weather station.
Due by the end of term 1
8 X 8 matrix led's (chapter 15 in tutorials 105-109)
Remote Control (chapter 16 in tutorials 105-109)
LCD screen (chapter 17 in tutorials 105-109)
Final Project of your design (check in with Mr. Kramer for available sensors and actuators). Example projects are programmable robots using servo motors, push button input games or LCD readouts for temperature/humidity sensors to output information for a weather station.
Due by the end of term 1
Final Project
This will be an android application or Windows program (written in the language of your choice in visual studio). Look for examples online or in the app store, create a user interface for it, and then code a working program.
Examples:
Dealership Inventory tracker
Multi-elevator Lobby (building of >24 floors and lobby with >3 elevators)
Contractor Delivery/Materials Manager
Exercise/Study Timer
Weather app
Geolocation tracker
Game(think simple like a puzzle game)
Due Dates:
Proposal of project-Include Project name, intended user, description of functionality and list of required interface elements.
May 8
Graphical User Interface-Include all required UI elements for full program functionality, use a consistent theme for colours, images and text.
May 15
Code Breakdown-List all required methods with a brief description of each one's functions and which other methods they interact with. Also, list all global variables that will be needed to carry information throughout your program. Finally, describe how you will manage user input and work with that data.
June 1
Final Project completion-Completed project to be handed in with all elements working. YOUR CODE MUST BE COMMENTED TO EXPLAIN WHAT EACH METHOD DOES THROUGHOUT THE PROGRAM!
June 19 (At the latest!)
Examples:
Dealership Inventory tracker
Multi-elevator Lobby (building of >24 floors and lobby with >3 elevators)
Contractor Delivery/Materials Manager
Exercise/Study Timer
Weather app
Geolocation tracker
Game(think simple like a puzzle game)
Due Dates:
Proposal of project-Include Project name, intended user, description of functionality and list of required interface elements.
May 8
Graphical User Interface-Include all required UI elements for full program functionality, use a consistent theme for colours, images and text.
May 15
Code Breakdown-List all required methods with a brief description of each one's functions and which other methods they interact with. Also, list all global variables that will be needed to carry information throughout your program. Finally, describe how you will manage user input and work with that data.
June 1
Final Project completion-Completed project to be handed in with all elements working. YOUR CODE MUST BE COMMENTED TO EXPLAIN WHAT EACH METHOD DOES THROUGHOUT THE PROGRAM!
June 19 (At the latest!)