ICS4U Assignments
Submitting your work to Google Classroom
Recursion Assignment - Due Thursday January 7, 2021. BOARD POLICY STATES THAT STUDENTS ARE NOT TO WORK ON SCHOOL ASSIGNMENTS DURING HOLIDAYS.
Video of description from 8:05am Dec 14
You will be provided with a video exemplar by December 15.
Here is the assignment. Please name the project 'LastFirstRecursion' and submit to the Classwork item by the due date. Global variables are NOT permitted in this assignment.
Sorting/Searching/Big O/2D Arrays/ArrayLists/Recursion Quiz - Wednesday January 6, 2021
Big O considerations when designing algorithms
Basic Big O concepts
Different types - mathematical properties (ie. Constant, Linear, Quadratic, Logarithmic, Exponential)
Which type most likely to outrun the computer's ability to deal with the problem?
Bubble Sort - characteristics, detriments, best performance when?
Characteristics of Selection Sort
Binary Search - major concepts and process
Recursion - main features and requirements, know the basic examples we covered in class
2D arrays - basic structure, how to use in practice, how to declare
Sorting/Searching Assignment. Due Tuesday December 8th.
Project to be named 'SortSearchLastFirst'
Assignment is here. THIS IS A CONSOLE ASSIGNMENT with specified text-based menu. GUI will not be accepted.
names.txt file is here.
File I/O Test - December 1st and 2nd - per cohort
Stanford SQL Content WILL NOT BE TESTED. DON'T STUDY IT!
What is unit testing? What are it's limitations? REFRESHER from OOP unit Activity
What is/are the difference(s) between binary and text files
Look at a piece of code and explain why the expected outcome is not occurring. Suggest a small change to make it work
Statements to create new file, scanner and printwriter objects given a file name.
Structure of try-catch exception handling in the ways we used it for file I/O
command to close a file
Where in your project's file structure do you put your files that you will read/write?
Why do we use file delimiters?
Use of StringTokenizer and .nextToken() for file delimiters
What is the term for converting text data to binary data?
What is the term for converting binary data to text data?
What is an EOFException?
What does FileInputStream object do?
What does ObjectInputStream object do?
What does the java.io.Serializable library do?
What is an encryption key?
What is the advantage of one-way encryption?
What is a message 'digest'?
Why was MD5 abandoned in 2005?
What replaced MD5?
File I/O assignment due Thursday November 5th at 2:45pm.
You will CREATE a project named "LastNameFirstNameSecureLogin". And your eventual exported .zip archive will be called, "LastNameFirstNameSecureLogin.zip" where in both cases LastName is YOUR last name and FirstName is YOUR first name.
No extra time given for GUI beyond what's demonstrated. In order to NOT LOSE C marks, IT IS STRONGLY recommended that your GUI strictly follow the model demonstrated. If the tester (teacher) needs to repeatedly run the program to try to figure out how your custom interface works, that'll be a loss of C marks.
Object Oriented Programming Test - two days - October 20 and 21st.
20th is short answers
21st is a programming problem
See this document for topics of the test. There will be a programming component to this test.
Coffee Klatch Assignment - Due October 20th, 2:45pm
Starter Project is here. DOWNLOAD it. IMPORT it and use it. You may have to set 'Files of Type' to
'All files' to see it in the import dialog.
Video is here
Sept 25 Quiz is here. It opens at 12:15pm
Caesar Cipher Assignment - Due Tuesday October 6th
I'm Done the Review Assignment. What do I do now?
You do THIS! Video demo is HERE
It's not for marks. It makes you a BETTER SOFTWARE ENGINEER!!!!!
Review Unit Test - Friday Sept 25
DON'T BLOW THIS OFF
Test Hints are HERE
Assignment - Learning Java 0-5 Due Tuesday Sept 22nd, 2:45pm
Video demonstration of the EXACT specifications is HERE
'RockPaperScissors' pseudocode GOOGLE SHEET - due September 21st SHARED
WITH [email protected]
Pseudocode Guidelines for ICS at NHS
FIVE SEPARATE CLASSES in ONE PROJECT, named "ReviewAssignment"
Classes are EXACTLY NAMED: 'PC0','PC1','PC2','PC3','PC4','PC5' (PC0 can just be the DEFAULT class)
Your teacher will run each FILE.
You will EXPORT the ONE PROJECT as a .zip file and submit it to the 'Review Assignment' in Google Classroom.
HINT: How to use Tokenizer to parse out individual values from a line of input
Java Keyboard Fundamentals
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
-----------------------------------
When handing in an assignment, any diagnostic code that prints to the console should be removed prior to submission. It looks messy and unfinished. For any GUI projects, all console print statements should be removed prior to submission. An assignment is an opportunity for you to show your BEST work. Professional look and feel is part of that presentation. Communications marks will be deducted for diagnostic statements in submitted work.
Your projects/assignments will be TESTED on a standard install of Netbeans 8.2. You are responsible for assuring that your program runs as you expect it. Your teacher will not inform you if they are unable to run your program. DO TESTING LONG BEFORE YOUR PROJECT/ASSIGNMENT is due!
If the projects are not immediately openable from the associated programs/IDE, you will NOT receive full marks.
If you are doing a project at home and/or on your laptop, it is YOUR RESPONSIBILITY to get it into the appropriate Assignments submission item in Google Classroom by the due date.
Recursion Assignment - Due Thursday January 7, 2021. BOARD POLICY STATES THAT STUDENTS ARE NOT TO WORK ON SCHOOL ASSIGNMENTS DURING HOLIDAYS.
Video of description from 8:05am Dec 14
You will be provided with a video exemplar by December 15.
Here is the assignment. Please name the project 'LastFirstRecursion' and submit to the Classwork item by the due date. Global variables are NOT permitted in this assignment.
Sorting/Searching/Big O/2D Arrays/ArrayLists/Recursion Quiz - Wednesday January 6, 2021
Big O considerations when designing algorithms
Basic Big O concepts
Different types - mathematical properties (ie. Constant, Linear, Quadratic, Logarithmic, Exponential)
Which type most likely to outrun the computer's ability to deal with the problem?
Bubble Sort - characteristics, detriments, best performance when?
Characteristics of Selection Sort
Binary Search - major concepts and process
Recursion - main features and requirements, know the basic examples we covered in class
2D arrays - basic structure, how to use in practice, how to declare
Sorting/Searching Assignment. Due Tuesday December 8th.
Project to be named 'SortSearchLastFirst'
Assignment is here. THIS IS A CONSOLE ASSIGNMENT with specified text-based menu. GUI will not be accepted.
names.txt file is here.
File I/O Test - December 1st and 2nd - per cohort
Stanford SQL Content WILL NOT BE TESTED. DON'T STUDY IT!
What is unit testing? What are it's limitations? REFRESHER from OOP unit Activity
What is/are the difference(s) between binary and text files
Look at a piece of code and explain why the expected outcome is not occurring. Suggest a small change to make it work
Statements to create new file, scanner and printwriter objects given a file name.
Structure of try-catch exception handling in the ways we used it for file I/O
command to close a file
Where in your project's file structure do you put your files that you will read/write?
Why do we use file delimiters?
Use of StringTokenizer and .nextToken() for file delimiters
What is the term for converting text data to binary data?
What is the term for converting binary data to text data?
What is an EOFException?
What does FileInputStream object do?
What does ObjectInputStream object do?
What does the java.io.Serializable library do?
What is an encryption key?
What is the advantage of one-way encryption?
What is a message 'digest'?
Why was MD5 abandoned in 2005?
What replaced MD5?
File I/O assignment due Thursday November 5th at 2:45pm.
You will CREATE a project named "LastNameFirstNameSecureLogin". And your eventual exported .zip archive will be called, "LastNameFirstNameSecureLogin.zip" where in both cases LastName is YOUR last name and FirstName is YOUR first name.
No extra time given for GUI beyond what's demonstrated. In order to NOT LOSE C marks, IT IS STRONGLY recommended that your GUI strictly follow the model demonstrated. If the tester (teacher) needs to repeatedly run the program to try to figure out how your custom interface works, that'll be a loss of C marks.
Object Oriented Programming Test - two days - October 20 and 21st.
20th is short answers
21st is a programming problem
See this document for topics of the test. There will be a programming component to this test.
Coffee Klatch Assignment - Due October 20th, 2:45pm
Starter Project is here. DOWNLOAD it. IMPORT it and use it. You may have to set 'Files of Type' to
'All files' to see it in the import dialog.
Video is here
Sept 25 Quiz is here. It opens at 12:15pm
Caesar Cipher Assignment - Due Tuesday October 6th
I'm Done the Review Assignment. What do I do now?
You do THIS! Video demo is HERE
It's not for marks. It makes you a BETTER SOFTWARE ENGINEER!!!!!
Review Unit Test - Friday Sept 25
DON'T BLOW THIS OFF
Test Hints are HERE
Assignment - Learning Java 0-5 Due Tuesday Sept 22nd, 2:45pm
Video demonstration of the EXACT specifications is HERE
'RockPaperScissors' pseudocode GOOGLE SHEET - due September 21st SHARED
WITH [email protected]
Pseudocode Guidelines for ICS at NHS
FIVE SEPARATE CLASSES in ONE PROJECT, named "ReviewAssignment"
Classes are EXACTLY NAMED: 'PC0','PC1','PC2','PC3','PC4','PC5' (PC0 can just be the DEFAULT class)
Your teacher will run each FILE.
You will EXPORT the ONE PROJECT as a .zip file and submit it to the 'Review Assignment' in Google Classroom.
HINT: How to use Tokenizer to parse out individual values from a line of input
Java Keyboard Fundamentals
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
-----------------------------------
When handing in an assignment, any diagnostic code that prints to the console should be removed prior to submission. It looks messy and unfinished. For any GUI projects, all console print statements should be removed prior to submission. An assignment is an opportunity for you to show your BEST work. Professional look and feel is part of that presentation. Communications marks will be deducted for diagnostic statements in submitted work.
Your projects/assignments will be TESTED on a standard install of Netbeans 8.2. You are responsible for assuring that your program runs as you expect it. Your teacher will not inform you if they are unable to run your program. DO TESTING LONG BEFORE YOUR PROJECT/ASSIGNMENT is due!
If the projects are not immediately openable from the associated programs/IDE, you will NOT receive full marks.
If you are doing a project at home and/or on your laptop, it is YOUR RESPONSIBILITY to get it into the appropriate Assignments submission item in Google Classroom by the due date.