If you have difficulty accessing the Google links, please LOG OUT
of your GAPPS account and try again.
About this Course
Welcome to Grade 12 Computer Science with Mr. Payne ([email protected])
This course enables students to further develop knowledge and skills in Computer Science. Students will use modular design principles to create complex and fully documented programs, according to industry standards. Student teams will manage a large software development project, from planning through to project review. Students will also analyse algorithms for effectiveness. They will investigate ethical issues in computing and further explore environmental issues, emerging technologies, areas of research in computer science, and careers in the field.
Prerequisite: Introduction to Computer Science, Grade 11 (ICS3U)
Course Policies are here
What's on the Exam Mr. Payne?
Your Independent Study Unit - Due June 14,2019, 2:45pm. IN YOUR H:ICS4U folder. With marks due right after exams, the teacher does NOT HAVE TIME to hunt down your project.
PAST ISU Ideas
Curriculum Expectations Fulfillment Requirements 15% of ISU mark.
Overall ISU Rubric of ISU mark.
Help code: Launching a URL from a java button www.hausofpayne.weebly.com/ICS4ULaunchURL
Engineering Program Entrant Scholarship
Assignment - Recursion - Due Friday May 17th 2:45pm
Example of Recursion converging UP to base case
Next Test - Thursday May 9th - Topics are here
Unit 6 - Project Management
Unit 5 - Recursion, Stacks, Queues and Program Efficiency
Assignment - Searching and Sorting - Group assignment - Due Tuesday May 7th 2:45pm
Passing An ArrayList to a Method that returns an ArrayList
Here's the Data Input File - put it in your project folder
Unit 4 - Sorting and Searching - April 23
Assignment - File I/O And Encryption - Due Thursday April 18that 2:45pm. This assignment will NOT be in your Midterm Report. Knowledge and Thinking responses to be typewritten, numbered and handed in to your teacher by 2:45pm on Monday April 15th. This assignment was assigned on Monday April 8th.
For testing, SHA-256 was used for encryption
user 'joe' the password is 'puppy'. user 'mary' the password is 'flower'
Your 'badPasswords.txt' file should contain:
1234
password
today
hello
computer
login
HERE IS A NETBEANS GUI REFRESHER link
Next Test - Tuesday April 9th - Topics are here
April 1 - Study/research Period - Notes in the OOP webpage on Encapsulation, Inheritance, Overloading, Overriding, 'Super','Extends', 'this' etc.
March 19 - Assignment - Coffee Klatch Due Monday April 1 at 2:45pm
DO NOT BE ASKING USER FOR INPUT IN THE CoffeeMachine or CoffeeCup classes/methods.
You may OUTPUT completion messages from the methods in these classes
but ALL USER INPUT HAPPENS IN CoffeeKlatch main()
Example Run of program
February 27 - Please work on your Caesar Cipher assignment
February 19 - What's on the Feb 22 test?
look here
Assignment - Caesar Cipher due by Friday March 8th, 2:45pm. Project name is 'CaesarCipher' in your ICS4U folder (ONE COMMUNICATIONS MARK DEDUCTED IF NOT PROPER PROJECT NAME)
February 14 - Methods Review
Lesson - Methods (JavaText 2013 reference - PDF 54)
Practice in JavaText2013 - PDF 66 - 15 to 18
February 13
Your RPS pseudocode GOOGLE DOC must be shared with [email protected] by 2:45pm Feb 14.
Unit 3 - File Input / Output Operations - Tuesday April 2nd
Unit 2 - Object Oriented Programming
Unit 1 Test - Programming - Friday February 22nd
Based on Slides presentations used in class (found on this website)
And Java concepts covered in review and the review Assignment and Methods
Don't forget typecasting.
Look at a segment of code with a main() and another method and determine how values are changed.
-------------------------------------
February 12th - Pseudocode Refresher
Here's an exemplar of how you are expected to format your pseudocode due Thursday:
Pseudocode Exemplar
Problem: You will repeatedly ask the user to enter a digit until they enter 0
You will count the number of negative and positive numbers and then report those counts after the 0 is entered
Solution
Set negCount to 0
Set posCount to 0
Set theVal to 1
Repeat until theVal is 0
Display, “please enter an integer. Enter 0 to exit”
Set theVal to user input
If theVal less than 0
Add 1 to negCount
Else if theVal greater than 0
Add 1 to posCount
End if
End repeat
Display, “The count of negative numbers is “,negCount
Display, “The count of positive numbers is”, posCount
for practice, try the following two examples:
1. Write pseudo code that reads two numbers and multiplies them together and display their product. Keep asking for numbers as long as the first number is NOT 0.
2. Write pseudo code that keeps asking for integers until a -9 is entered. As each integer is entered, add it to a 'sum' variable that you set to 0 at the beginning of your program. After the -9 is entered, display the sum of all the entered numbers. YOU MUST NOT ADD the -9 to your sum.
NOTE: For an ultimate exemplar, please see the pseudocode on PDF page 46 of your javaText texbook.
-------------------------------
Assignment - Learning Java 0-5
Store in your H:/ICS4U folder with project names SPECIFIED
'RockPaperScissors' pseudocode GOOGLE DOC - due by Thursday February 14 at 2:45pm
'PC0', 'PC1', 'PC2' ,'PC3' ,'PC4' ,'PC5' due by Thursday February 21st at 2:45pm
NOTE: 'PC1'(this is the RockPaperScissors PROGRAM, not the pseudocode which is separate)
HINT: How to use Tokenizer to parse out individual values from a line of input
Clarification on Program PC4 - the Mountain Climber
If you look in the Notes section, you see the statment, "If the fatigue factor drops Nicholas' climbing distance below zero, he does not climb at all on that attempt."
that means his distance climbed is ZERO on that attempt.
The next point says, "Regardless of how far he has climbed, HE ALWAYS SLIDED D feet after a fall."
So on each term even if he climbs zero, he still falls.
So for the input of 25 10 1 50, the correct output is:
25 10 1 50
d=25.0
c=10.0
s=1.0
f=50.0
Attempt: 1 0.0 10.0 10.0 9.0
Attempt: 2 9.0 5.0 14.0 13.0
Attempt: 3 13.0 0.0 13.0 12.0
Attempt: 4 12.0 0.0 12.0 11.0 notice that since the climbing distance is now negative, he does not climb but he still falls.
Attempt: 5 11.0 0.0 11.0 10.0
Attempt: 6 10.0 0.0 10.0 9.0
Attempt: 7 9.0 0.0 9.0 8.0
Attempt: 8 8.0 0.0 8.0 7.0
Attempt: 9 7.0 0.0 7.0 6.0
Attempt: 10 6.0 0.0 6.0 5.0
Attempt: 11 5.0 0.0 5.0 4.0
Attempt: 12 4.0 0.0 4.0 3.0
Attempt: 13 3.0 0.0 3.0 2.0
Attempt: 14 2.0 0.0 2.0 1.0
Attempt: 15 1.0 0.0 1.0 0.0
Attempt: 16 0.0 0.0 0.0 -1.0
FAILURE ON ATTEMPT 16
-----------------------------------
March 19 - Assignment - Coffee Klatch Due Monday April 1 at 2:45pm
DO NOT BE ASKING USER FOR INPUT IN THE CoffeeMachine or CoffeeCup classes/methods.
You may OUTPUT completion messages from the methods in these classes
but ALL USER INPUT HAPPENS IN CoffeeKlatch main()
Example Run of program
February 27 - Please work on your Caesar Cipher assignment
February 19 - What's on the Feb 22 test?
look here
Assignment - Caesar Cipher due by Friday March 8th, 2:45pm. Project name is 'CaesarCipher' in your ICS4U folder (ONE COMMUNICATIONS MARK DEDUCTED IF NOT PROPER PROJECT NAME)
February 14 - Methods Review
Lesson - Methods (JavaText 2013 reference - PDF 54)
Practice in JavaText2013 - PDF 66 - 15 to 18
February 13
Your RPS pseudocode GOOGLE DOC must be shared with [email protected] by 2:45pm Feb 14.
Unit 3 - File Input / Output Operations - Tuesday April 2nd
Unit 2 - Object Oriented Programming
Unit 1 Test - Programming - Friday February 22nd
Based on Slides presentations used in class (found on this website)
And Java concepts covered in review and the review Assignment and Methods
Don't forget typecasting.
Look at a segment of code with a main() and another method and determine how values are changed.
-------------------------------------
February 12th - Pseudocode Refresher
Here's an exemplar of how you are expected to format your pseudocode due Thursday:
Pseudocode Exemplar
Problem: You will repeatedly ask the user to enter a digit until they enter 0
You will count the number of negative and positive numbers and then report those counts after the 0 is entered
Solution
Set negCount to 0
Set posCount to 0
Set theVal to 1
Repeat until theVal is 0
Display, “please enter an integer. Enter 0 to exit”
Set theVal to user input
If theVal less than 0
Add 1 to negCount
Else if theVal greater than 0
Add 1 to posCount
End if
End repeat
Display, “The count of negative numbers is “,negCount
Display, “The count of positive numbers is”, posCount
for practice, try the following two examples:
1. Write pseudo code that reads two numbers and multiplies them together and display their product. Keep asking for numbers as long as the first number is NOT 0.
2. Write pseudo code that keeps asking for integers until a -9 is entered. As each integer is entered, add it to a 'sum' variable that you set to 0 at the beginning of your program. After the -9 is entered, display the sum of all the entered numbers. YOU MUST NOT ADD the -9 to your sum.
NOTE: For an ultimate exemplar, please see the pseudocode on PDF page 46 of your javaText texbook.
-------------------------------
Assignment - Learning Java 0-5
Store in your H:/ICS4U folder with project names SPECIFIED
'RockPaperScissors' pseudocode GOOGLE DOC - due by Thursday February 14 at 2:45pm
'PC0', 'PC1', 'PC2' ,'PC3' ,'PC4' ,'PC5' due by Thursday February 21st at 2:45pm
NOTE: 'PC1'(this is the RockPaperScissors PROGRAM, not the pseudocode which is separate)
HINT: How to use Tokenizer to parse out individual values from a line of input
Clarification on Program PC4 - the Mountain Climber
If you look in the Notes section, you see the statment, "If the fatigue factor drops Nicholas' climbing distance below zero, he does not climb at all on that attempt."
that means his distance climbed is ZERO on that attempt.
The next point says, "Regardless of how far he has climbed, HE ALWAYS SLIDED D feet after a fall."
So on each term even if he climbs zero, he still falls.
So for the input of 25 10 1 50, the correct output is:
25 10 1 50
d=25.0
c=10.0
s=1.0
f=50.0
Attempt: 1 0.0 10.0 10.0 9.0
Attempt: 2 9.0 5.0 14.0 13.0
Attempt: 3 13.0 0.0 13.0 12.0
Attempt: 4 12.0 0.0 12.0 11.0 notice that since the climbing distance is now negative, he does not climb but he still falls.
Attempt: 5 11.0 0.0 11.0 10.0
Attempt: 6 10.0 0.0 10.0 9.0
Attempt: 7 9.0 0.0 9.0 8.0
Attempt: 8 8.0 0.0 8.0 7.0
Attempt: 9 7.0 0.0 7.0 6.0
Attempt: 10 6.0 0.0 6.0 5.0
Attempt: 11 5.0 0.0 5.0 4.0
Attempt: 12 4.0 0.0 4.0 3.0
Attempt: 13 3.0 0.0 3.0 2.0
Attempt: 14 2.0 0.0 2.0 1.0
Attempt: 15 1.0 0.0 1.0 0.0
Attempt: 16 0.0 0.0 0.0 -1.0
FAILURE ON ATTEMPT 16
-----------------------------------
Java Reference
Course Introduction - The First Couple of Days
Unit 1 - Review of CS Fundamentals
This unit will ensure you're ship-shape with all the Programming Concepts learned in grade 11. At the same time, you'll be using these skills in more advanced ways that will get you used to the rigour and professionalism expected in grade 12.
Unit 1 Outline
Unit 1 Review
CS Fundamentals with Java
Lesson - Algorithms and Heuristics
Lesson - Fundamental Programming Principles
Java Fundamentals
Lesson - NetBeans Refresher
Repetition Practice Problems - 1-3, 6-13
If you want to use keyboard input:
put
import java.util.Scanner; AFTER your package line
then inside main, declare a keyboard object
Scanner keyboard = new Scanner (System.in);
and to get information from the keyboard use
int theVal = keyboard.nextInt();
double decVal = keyboard.nextDouble();
String theName = keyboard.nextLine();
Selection Structures
Selection Practice Problems - 1-9
Lesson - Java Concepts needed for each Assignment Challenge
Collaborative Coding, Debugging and Unit Testing
Debugger Demo
Methods
Lesson - Methods (JavaText 2013 reference - PDF 54)
Practice in JavaText2013 - PDF 66 - 15 to 18
Lesson - Commenting Suped - JavaDocs
Unit 1 Outline
Unit 1 Review
CS Fundamentals with Java
Lesson - Algorithms and Heuristics
Lesson - Fundamental Programming Principles
Java Fundamentals
Lesson - NetBeans Refresher
Repetition Practice Problems - 1-3, 6-13
If you want to use keyboard input:
put
import java.util.Scanner; AFTER your package line
then inside main, declare a keyboard object
Scanner keyboard = new Scanner (System.in);
and to get information from the keyboard use
int theVal = keyboard.nextInt();
double decVal = keyboard.nextDouble();
String theName = keyboard.nextLine();
Selection Structures
Selection Practice Problems - 1-9
Lesson - Java Concepts needed for each Assignment Challenge
Collaborative Coding, Debugging and Unit Testing
Debugger Demo
Methods
Lesson - Methods (JavaText 2013 reference - PDF 54)
Practice in JavaText2013 - PDF 66 - 15 to 18
Lesson - Commenting Suped - JavaDocs
Ephemera, Articles of Interest, Cool Stuff
Want to Learn some Arduino before you graduate? - Click HERE
What to do if you don't have a Computer Science Degree
Kill Your Mark - take Photos of Notes
Canada fights for lead in Quantum Computing!
Getting Ready for the Job Market - Globe and Mail Article
FDA Recalls Half a Million Pacemakers over Hacking Fears
The difference between Computer Science and Computer Engineering Programs
Saudi Arabia Grants Citizenship to a Robot - October 25, 2017 Toronto Star
THIS 1 MINUTE PODCAST SNIP WILL CHANGE YOUR LIFE!!! REALLY!
What Tech World Did You Grow Up In? - Washington Post - Nov 28, 2017
The Racialization of Code - Guardian - Dec 4, 2017
Programmers' Drinking Song
Begin
100 little bugs in the code,
100 bugs in the code,
fix one bug, compile it again,
101 little bugs in the code.
101 little bugs in the code.....
Repeat until BUGS = 0
oct_18_userinput_notice_on_whiteboard_310.jpg | |
File Size: | 628 kb |
File Type: | jpg |
steveerickson-whydogoodwork.mp3 | |
File Size: | 1941 kb |
File Type: | mp3 |
2019_scholarship_poster_-_2019-05-07.pdf | |
File Size: | 44 kb |
File Type: |