About This Course:
Grade 11 Computer Science is a course that is designed to introduce the concepts of computer programming utilizing Java and an online emulator as the design environment. Students this year have the opportunity to start the AP portion of the course which will prepare them to take the exam at the end of their grade 12 year. Depending on their level of success on this exam they may be eligible for college/university credits in Computer Science. For those students who are interested in a career in computers, be it working as a programmer, designer, animator, in the game industry etc. this is a great place to start.
Additionally, students may choose to work with Arduino boards to develop electronic projects that are programmed through the computer. This is a good introduction to hardware design.
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: /50%
Projects: /50%
Additionally, students may choose to work with Arduino boards to develop electronic projects that are programmed through the computer. This is a good introduction to hardware design.
Course outcomes:
The student is expected to develop skills in the following areas:
- Graphic manipulation- students will need to develop skills in creating game graphics for backgrounds and objects.
- Programming-
- Students will work primarily in Java through a series of online exercises designed to prepare them for the AP exam.
- Students will complete quizzes and tests that will gauge their understanding of the concepts of programming in Java
- Students will modify existing assignments to create new outcomes for their programs.
- 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.
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: /50%
Projects: /50%
Hand-in Information:
All work to be handed in to the following location on completion:
Data (I):/Handin/Kramer/Computer Science 11
Data (I):/Handin/Kramer/Computer Science 11
Assignment List
Karel #10 While loops
Grade 11 - Due by the end of Feb. 7
Karel #17 Quiz
Grade 11 - Due by the end of Feb. 11
Karel Challenges
Grade 11 - Due by the end of Feb. 14
Basic Java #7 Logical Operators
Grade 11+ - Due by the end of Feb. 7
Grade 11 - Due by the end of Feb. 21
Grade 11 - Due by the end of Feb. 21
Basic Java #13 Unit 2 quiz
Grade 11+ - Due by the end of Feb. 14
Grade 11 - Due by the end of Feb. 28
Grade 11 - Due by the end of Feb. 28
Methods #4
Grade 11+ - Due by the end of Feb. 21 , go through the powerpoint below before you begin.
Grade 11 - Due by the end of March 13
Grade 11 - Due by the end of March 13
java_string_methods.pptx | |
File Size: | 953 kb |
File Type: | pptx |
Methods #8 Quiz
Grade 11+ - Due by the end of March 13
Grade 11 - Due by the end of April 10
Grade 11 - Due by the end of April 10
Netbeans assignments - Grade 11+ only!
In this set of assignments we will create standalone programs using netbeans software programming in Java.
Follow the tutorial above to create a functional calculator.
Note, the explanation at the end of section 10 for your equals button is slightly wrong
and should look like the last image on the page which I have copied below:
Note, the explanation at the end of section 10 for your equals button is slightly wrong
and should look like the last image on the page which I have copied below:
Concatenate assignment
Create a form that includes the following:
- First Name Label (text above textbox)
- Last Name Label (text above textbox)
- First Name textbox (textbox for user to input a first name)
- Last Name textbox (textbox for user to input a last name)
- Button (Labelled concatenate)
- Textbox that prints out first and last name (user defined) with a space in between.
Tic Tac Toe
tic_tac_toe.docx | |
File Size: | 752 kb |
File Type: | docx |
Create a functioning tic tac toe game that registers who wins the game. Use buttons as the squares. Read document above for instructions.
Bonus: keep score over a number of different games.
Bonus: keep score over a number of different games.
Age Calculator - For 11+ students
Create a calculator that takes user input for date of birth and time, and present date and time. Include fields for time zone that the user was born in and time zone that they are currently in. Allow for leap years over the user's life span. Output age in years, months, days, hours, minutes and seconds.
Criteria:
-Allow for user input to enter birth year, birth month, birth day, birth hour, birth minute (Use a combo box for birth month, use .getSelectedIndex() to get the user choice).
-Allow for EITHER user input in the same format for current time, OR program to use current time from the computer(click on the button above for information on that).
- output the TOTAL values as shown in the following example: (Given a birth date of: October 3, 2005 and current time of November 4 2021 with the same hours and minutes)
-16 years
-193 months
-5876 days
-141024 hours
-8 461 440 minutes
-507 686 400 seconds
-Once you are calculating this correctly, add in methods to account for leap year days, being born and measuring in different time zones and being born and measuring during daylight savings vs standard time.
-Allow for user input to enter birth year, birth month, birth day, birth hour, birth minute (Use a combo box for birth month, use .getSelectedIndex() to get the user choice).
-Allow for EITHER user input in the same format for current time, OR program to use current time from the computer(click on the button above for information on that).
- output the TOTAL values as shown in the following example: (Given a birth date of: October 3, 2005 and current time of November 4 2021 with the same hours and minutes)
-16 years
-193 months
-5876 days
-141024 hours
-8 461 440 minutes
-507 686 400 seconds
-Once you are calculating this correctly, add in methods to account for leap year days, being born and measuring in different time zones and being born and measuring during daylight savings vs standard time.
Here is a test date to verify your age calculator code with:
(This includes leap years and daylight savings time, and assumes same time zone)
test_date_for_age_calculator__1_.docx | |
File Size: | 14 kb |
File Type: | docx |
Concert Hall Seating Program - for 11 students
concert_hall_seating_program.docx | |
File Size: | 265 kb |
File Type: | docx |
Using Netbeans, create a form that displays a seating chart for a concert hall with 35 seats. The user needs to be able to select a seat and reserve it so that no-one else can reserve the same seat. Either the button for the seat disappears, or for bonus marks it changes colour. You need an undo button to return the seat to the unchecked state so that a person can change their mind.
Grade 11+ - Due by the end of April 17
Classes and Object Oriented Programming
Video Tutorial for Classes and OOP Watch this First!!!
https://drive.google.com/file/d/1RBZibO1CrU0-1cwXVXBKD54qyO89KpIp/view
https://drive.google.com/file/d/1RBZibO1CrU0-1cwXVXBKD54qyO89KpIp/view
End of Term 1
Beginning of Term 2
Classes and OOP # 7
Grade 11+ - Due by the end of April 24
Grade 11 - Due by the end of April 24
Grade 11 - Due by the end of April 24
Full Fraction class Help:
Watch video above and pay particular attention to the addTwo portion.
Make sure you return the answer as a numerator + "/" + denominator and not as a decimal.
Make sure you return the answer as a numerator + "/" + denominator and not as a decimal.
Unit Circle Help:
2015-11-10_10.14.02.jpg | |
File Size: | 2591 kb |
File Type: | jpg |
Classes and OOP # 12
Grade 11+ - Due by the end of May 1
Grade 11 - Due by the end of May 1
Grade 11 - Due by the end of May 1
Classes and OOP - Complete
Grade 11+ - Due by the end of May 8
Grade 11 - Due by the end of May 8
Grade 11 - Due by the end of May 8
Robocode Project
In this project you will utilize the robocode program to create a fully autonomous tank to try to defeat your opponents.
Robocode Part 1:
To start, program your robot to do the following things:
- Move in a square
- Move in a circle
- Move to the center of the field
- Fire at the center of each wall from the center of the field
- Turn the gun independently from the radar
- Find Sitting Duck, move to within 120 pixels of him, then travel in a circle around him while shooting at him.
Robocode Part 2:
The Secondary requirements are:
1 v 1: your tank vs. Tracker on 600 X 800 field you score 80% or higher,
1 v 1: your tank vs. Crazy on 600 X 800 field you score 80% or higher,
1 v 1: your tank vs. Walls on 600 X 800 field you score 80% or higher,
The first two parts are 50% of your Robocode mark.
1 v 1: your tank vs. Tracker on 600 X 800 field you score 80% or higher,
1 v 1: your tank vs. Crazy on 600 X 800 field you score 80% or higher,
1 v 1: your tank vs. Walls on 600 X 800 field you score 80% or higher,
The first two parts are 50% of your Robocode mark.
Robocode Part 3:
Battle Royal: You vs. the class and the following sample robots (Corners, Crazy, Fire, MyFirstRobot, PaintingRobot, RamFire, SittingDuck, SpinBot, Target, Tracker, TrackFire, VelociRobot and Walls). Field size for the Battle Royale is 2000 x 2000.
If you place above every sample robot: 100%
If you place below one sample robot: 90%
If you place below two sample robots: 80%
If you place below three sample robots: 70%
If you place below four sample robots: 60%
If you place below sitting duck or target: 40%
Scores are averaged out over 100 battles.
This is the other 50% of your Robocode mark.
For a list of functions that are available to you, check the following website: http://robocode.sourceforge.net/docs/robocode/
OR, select the help menu in robocode and choose Robocode API.
Under Packages on the left side select robocode, under all classes below that, select Robot. This will display the methods and classes available to you to program your robot.
You may use some portions of sample robots to improve the functionality of your own.
However, if you use more than 15 lines of sample code or code that is not your own, your robot will be disqualified and you will receive a zero for the project.
Robocode is worth 10% of your mark, so dig in and make a robot that is dominant!
Good Luck!
If you place above every sample robot: 100%
If you place below one sample robot: 90%
If you place below two sample robots: 80%
If you place below three sample robots: 70%
If you place below four sample robots: 60%
If you place below sitting duck or target: 40%
Scores are averaged out over 100 battles.
This is the other 50% of your Robocode mark.
For a list of functions that are available to you, check the following website: http://robocode.sourceforge.net/docs/robocode/
OR, select the help menu in robocode and choose Robocode API.
Under Packages on the left side select robocode, under all classes below that, select Robot. This will display the methods and classes available to you to program your robot.
You may use some portions of sample robots to improve the functionality of your own.
However, if you use more than 15 lines of sample code or code that is not your own, your robot will be disqualified and you will receive a zero for the project.
Robocode is worth 10% of your mark, so dig in and make a robot that is dominant!
Good Luck!
Watch this video before starting Data Structures!
Video Tutorial on Arrays, Arraylists and Hashmaps: https://drive.google.com/file/d/1yrkCLk5ouOIWmd-gc-NXKVmE_1fxY6JX/view
Further information about:
Arrays: https://www.w3schools.com/java/java_arrays.asp
ArrayLists: https://www.w3schools.com/java/java_arraylist.asp
HashMaps: https://www.w3schools.com/java/java_hashmap.asp
Further information about:
Arrays: https://www.w3schools.com/java/java_arrays.asp
ArrayLists: https://www.w3schools.com/java/java_arraylist.asp
HashMaps: https://www.w3schools.com/java/java_hashmap.asp
Data Structures #3 Using Arrays
Grade 11+ - Due by the end of May 15
Grade 11 - Due by the end of May 15
Grade 11 - Due by the end of May 15
Data Structures #7 Hashmaps
Grade 11+ - Due by the end of May 22
Grade 11 - Due by the end of May 22
Grade 11 - Due by the end of May 22
Poetry
Using the sandbox mode of CodeHs, create a poem generator following these instructions, then recreate an exe in netbeans
poem_problems.docx | |
File Size: | 14 kb |
File Type: | docx |
Note: Complete #8 Battleship in Netbeans Using Buttons
Algorithms and Recursion #4 Selection Sort
Grade 11+ - Due by the end of June 5
Grade 11 - Due by the end of June 5
Grade 11 - Due by the end of June 5
Algorithms and Recursion #8 Unit quiz
Grade 11+ - Due by the end of June 19
Grade 11 - Due by the end of June 19
Grade 11 - Due by the end of June 19