Difference between revisions of "IB Computer Science 2"

From WLCS
 
Line 1: Line 1:
== Tuesday (1/31/12) ==
+
== [[IBCS2 - Archives]] ==
'''Warmup:'''
 
* Take out homework and get checked for homework
 
 
 
'''Agenda:'''
 
* Volunteer Opportunity:
 
** Got-a-Gadget Event @ Central Library - Thursday, February 2nd, 4-6PM
 
* Review [[Boolean expression word problems]]
 
* Digital Logic Design Mini-Quiz
 
<!--
 
** A car's 4-wheel drive mechanism is controlled by several switches.  If the driver wants to turn on the 4-wheel drive, then an On/Off switch is hit by the driver.  The car's 4-wheel drive cannot be initiated however, if the car is going over 60 mph.  Regardless of whether or not the driver hits the switch, if the car detects icy roads, then the 4-wheel drive will automatically go on.
 
**# Determine what your variables are and what they mean
 
**# Draw the truth table
 
**# Write out the COMPLETE Boolean expression with all the minterms
 
**# Simplify the expression
 
**# Draw the digital circuit for the simplified expression
 
-->
 
 
 
'''Dossier:'''
 
* CODE COMPLETE BY END OF WEEK (Including File/IO)
 
* Modular Organization - [[Media:CriterionB3_modularOrganization.doc]] due on Monday 2/6/12
 
 
 
== Wednesday - Friday (1/25/12 - 1/27/12) ==
 
'''Warmup:'''
 
* Bring up your dossier and get code checked
 
* Code 90% completed by end of January (next week!)
 
 
 
'''Agenda:'''
 
* Return Boolean expression quizzes
 
** Review Boolean expressions and makeups
 
* Example Scenario:
 
** A circuit is used to control a man-made lake's flood gates.  If the water level is high, then the gates open.  If there is anybody in the lake though, then the flood gates do not open.  What is the expression and digital circuit for this *simple* scenario?
 
* Logic Gates - [[Media:LogicGates.ppt]]
 
* Digital Logic Design - [[Media:DLD.ppt]]
 
* [[Boolean expression word problems]]
 
* File Input/Output
 
** [[Media:SimpleFileIO.zip]]
 
** [[Media:BiggerFileIO.zip]]
 
 
 
'''Homework:'''
 
* Complete the rest of [[Boolean expression word problems]]
 
* Integrate File IO into your Dossier project.
 
 
 
== Friday (1/20/12) ==
 
'''Warmup:'''
 
* Work on #9, 10, 11 from [[Boolean expression exercises]]
 
 
 
'''Agenda:'''
 
* Work on [[Boolean expression exercises]]
 
* Boolean expression quiz
 
* Logic Gates - [[Media:LogicGates.ppt]]
 
** Time to draw!
 
* Work on Dossier Project
 
 
 
'''Homework:'''
 
* Dossier Code Check at the beginning of Wednesday (1/25/12)
 
** You should be able to show significant progress on your dossier
 
 
 
== Wednesday (1/18/12) ==
 
'''Warmup:'''
 
* Watch [http://vimeo.com/31100268 PROTECT IP / SOPA Breaks The Internet]
 
 
 
'''Agenda:'''
 
* Return 2nd Quarter Exams
 
* Introduction to Boolean Logic
 
** [[Media:BooleanLogic.ppt]]
 
** [[Media:SimplifyingBooleanExpressions.ppt]]
 
* Work on [[Boolean expression exercises]]
 
 
 
== Friday (1/13/12) ==
 
'''Agenda:'''
 
* 2nd Quarter Exam
 
* Introduction to Boolean Logic
 
** [[Media:BooleanLogic.ppt]]
 
** [[Media:SimplifyingBooleanExpressions.ppt]]
 
 
 
== Wednesday (1/11/12) ==
 
'''Agenda:'''
 
* Central Library volunteering opportunity
 
** Saturday, January 21, from 10:30AM-12PM
 
** Help people learn how to use download ebooks and use e-readers
 
 
 
* [http://acm.cs.virginia.edu/?page_id=8 UVA Programming Contest]
 
** Saturday, March 17, 2012
 
 
 
* Any more letters of support? (original and signed, no e-mails)
 
 
 
* 2nd Quarter Exam Review
 
** Exam will be closed-book - Friday (1/13/12)
 
** Binary Trees - [[Media:BinaryTrees.ppt]]
 
*** Know the rules governing binary trees
 
*** Know how to build a binary tree
 
** Big-O - [[Media:AlgorithmEvaluation.ppt]]
 
*** Know the different Big-O notations
 
*** Know the Big-O evaluations of selection sort, insertion sort, quicksort, linear search, binary search
 
** Analog vs. Digital - [[Media:AnalogDigital.ppt]]
 
*** Understand the difference between analog (continuous) vs. digital (discrete)
 
*** Know the process of sampling and converting from analog to digital (be able to draw a flow chart)
 
*** Understand different real-world scenarios of converting analog to digital
 
** Binary
 
*** Convert between decimal and binary
 
** Hexadecimal
 
*** Convert between hexadecimal and binary (and therefore decimal and hexadecimal)
 
** Binary addition
 
** Sign magnitude
 
** 2's complement
 
** Binary subtraction
 
*** Show binary addition using a negative number
 
** Underflow and overflow
 
*** Explain the problem and how/when it could occur
 
** Min and max values
 
*** Given a particular bit-restriction and number system, figure out min/max values
 
 
 
* WORK ON DOSSIER CODING - complete coding by end of January
 
* File input/output next week
 
 
 
== Monday (1/9/12) ==
 
'''Warmup:'''
 
* Assuming 6-bit 2's complement:
 
*# Is 110111 positive or negative?
 
*# What is its value?
 
* What is the 8-bit 2's complement binary of -41?
 
 
 
'''Agenda:'''
 
* 2's complement review
 
* 2's complement individual closed-book assessment
 
* 2nd Quarter Exam - Friday, 1/13/12
 
** Binary Trees - [[Media:BinaryTrees.ppt]]
 
** Big-O - [[Media:AlgorithmEvaluation.ppt]]
 
** Analog vs. Digital - [[Media:AnalogDigital.ppt]]
 
** Binary
 
** Hexadecimal
 
** Binary addition
 
** Sign magnitude
 
** 2's complement
 
** Binary subtraction
 
** Underflow and overflow
 
** Min and max values
 
* Work on dossier
 
 
 
== Tuesday - Thursday (1/3/12 - 1/5/12) ==
 
'''Warmup:'''
 
* Add the following binary numbers 110101 + 111
 
* Add the following hexadecimal numbers 30 + 2F
 
** Hint: Convert to binary before adding
 
 
 
'''Agenda:'''
 
* Letters of Support? - Due Tuesday, January 10th
 
* Binary Addition Quiz (w/ Hexadecimal)
 
* Negative Binary
 
** Sign Magnitude - [[Media:NegBinarySignMag.ppt]]
 
** 2's Complement - [[Media:NegBinary2sComp.ppt]]
 
* Work on Dossier
 
 
 
== Friday (12/23/11) - Friday (12/30/11) ==
 
* Winter Break
 
 
 
== Wednesday (12/21/11) ==
 
'''Warmup:'''
 
# Bring up your Dossier progress
 
# Using a flow chart, illustrate the process of recording a live CD, beginning with the artist singing into the microphone
 
# Convert the following hexadecimal number to binary: 2B0F
 
# Convert the following binary number to hexadecimal: 0100111010101000
 
 
 
'''Agenda:'''
 
* Dossier Progress Check during warmup
 
* Turn in algorithms section
 
* Binary Addition
 
** [[Media:BinaryAddition.ppt]]
 
* Analog Signal Woes (interesting, but not on IB exam)
 
** [[Media:AnalogProblems.ppt]]
 
** What is noise?
 
** Radio signals
 
** TV signals (video signals)
 
** Audio signals (through audio cables)
 
** Signal-to-Noise Ratio
 
* Why is digital better than analog?
 
 
 
'''Winter Break Homework:'''
 
* CODE CODE CODE!
 
* Work on your dossier project
 
* Goal - completed dossier code by mid-January
 
 
 
== Monday (12/19/11) ==
 
'''Agenda:'''
 
* Binary Games Practice (individually, then as a class)
 
** [http://britton.disted.camosun.bc.ca/binary.swf Binary Game #1]
 
** [http://forums.cisco.com/CertCom/game/binary_game_page.htm Binary Game #2]
 
* Binary Quiz
 
** Binary -> Decimal
 
** Decimal -> Binary
 
** Data values and representation
 
* Analog vs. Digital
 
** [[Media:AnalogDigital.ppt]]
 
* Hexadecimal - sounds kinda weird and creepy
 
** [[Media:Hexadecimal.ppt]]
 
 
 
'''Homework:'''
 
* Dossier Progress Check on Wednesday (12/21/10)
 
* Dossier - Criterion B2: Algorithms due Wednesday (12/21/11)
 
** [[Media:CriterionB2_algorithms.doc]]
 
 
 
== Thursday (12/15/11) ==
 
'''Warmup:'''
 
* Complete the [[Big O Practice Problems]]
 
* Turn in your answers (with you name on it!)
 
 
 
'''Agenda:'''
 
* Go over [[Big O Practice Problems]]
 
* Introduction to Binary - [[Media:Binary.ppt]]
 
* Introduction to Binary #2 - [[Media:Binary2.ppt]]
 
* Binary Games - Play individually or as a class?
 
** [http://britton.disted.camosun.bc.ca/binary.swf Binary Game #1]
 
** [http://forums.cisco.com/CertCom/game/binary_game_page.htm Binary Game #2]
 
* Binary Quiz on Monday (12/19/10)
 
* Dossier Progress Check on Wednesday (12/21/10)
 
** You will demo / present completion of the following components in your dossier:
 
*** Basic container class (e.g. Contact)
 
*** Node class (e.g. ContactLLNode or ContactBTNode)
 
*** Partial completion of your major data structure (e.g. ContactLL or ContactBT)
 
 
 
'''Homework:'''
 
* Binary Quiz on Monday (12/19/10)
 
* Dossier Progress Check on Wednesday (12/21/10)
 
* Dossier - Criterion B2: Algorithms due Wednesday (12/21/11)
 
** [[Media:CriterionB2_algorithms.doc]]
 
 
 
== Tuesday (12/13/11) ==
 
'''Warmup:'''
 
* What are the different methods of input and output? (specific types)
 
* When testing data, what are the 3 types of test data should you use. (specific types)
 
* Turn in your Data Structures section
 
 
 
'''Agenda:'''
 
* [http://www.ion.org/outreach/muc/ LEGO Competition] - to compete, speak with Mr. Avondet
 
** Meetings after school on Tuesday in Mr. Avodent's room
 
* Return and go over Binary Quizzes
 
* Peer edit - Data Structures
 
* Algorithm Evaluation - Big O!
 
** [[Media:AlgorithmEvaluation.ppt]]
 
** [[Big O Practice Problems]]
 
* Dossier - Criterion B2: Algorithms due Wednesday (12/21/11)
 
** [[Media:CriterionB2_algorithms.doc]]
 
 
 
== Friday (12/9/11) ==
 
'''Agenda:'''
 
* [http://www.washlee.net/cs2code/AddressBookGUI.zip AddressBookGUI Code Walk-through]
 
* Demos! Demos! Demos!
 
* Work on B1: Data Structures
 
* Work on coding your Dossier (including the GUI)
 
 
 
== Monday - Wednesday (12/5/11 - 12/7/11) ==
 
'''Agenda:'''
 
* Dual Enrollment forms?
 
* Demo your completed AddressBook w/ Menu and Binary Tree
 
* Demo your completed [http://docs.oracle.com/javase/tutorial/uiswing/learn/index.html Celcius Converter Tutorial]
 
* Quadratic Formula GUI
 
** Create a GUI program that meets the requirements of the [[Quadratic Formula Assignment]]
 
** Don't forget that you'll need to use Math.pow() for exponents in Java
 
** 3 input boxes, a few labels, a button, and an output textbox would be great!
 
* B1: Data Structures - [[Media:CriterionB1_dataStructures.doc]]
 
** Due Tuesday, December 13th
 
 
 
== Thursday (12/1/11) ==
 
'''Agenda:'''
 
* Binary Trees Quiz
 
* Dual Enrollment forms?
 
* Demo your completed AddressBook w/ Menu and Binary Tree
 
* Demo your completed [http://docs.oracle.com/javase/tutorial/uiswing/learn/index.html Celcius Converter Tutorial]
 
* Quadratic Formula GUI
 
** Create a GUI program that meets the requirements of the [[Quadratic Formula Assignment]]
 
** 3 input boxes, a few labels, a button, and an output textbox would be great!
 
 
 
== Tuesday (11/29/11) ==
 
* Demo completed Binary Tree w/ Strings
 
* Demo completed AddressBook w/ Menu and Binary Tree
 
* Extracurricular Opportunities
 
** IDT Programming Contest
 
** [http://www.ama-inc.com/component/hwdvideoshare/viewvideo/47/animation/tetrahedral-warfighter-tet.html Tetrahedral Rover Project] w/ Catholic University (1-2 students interested in Java, C, and/or Basic programming)
 
* NVCC Dual Enrollment - ITP 120 - Java Programming I
 
*# Complete the form (if you already have an ID# from last year, then use that one)
 
*# [http://www.nvcc.edu/novaconnect/student/hdi-apply.htm Complete application] if you have not done so before
 
*# Exemption from COMPASS test with (AP English 3 or higher OR SAT Reading 550 or higher)
 
* Java GUIs
 
** [http://netbeans.org/downloads/index.html NetBeans IDE]
 
** Hello, world GUI program
 
* Java GUI assignment
 
*# Complete and demo the [http://docs.oracle.com/javase/tutorial/uiswing/learn/index.html Celcius Converter Tutorial]
 
 
 
'''Homework:'''
 
* Study Binary Trees.  Illustrations and Fill-in-the-blank Code Quiz on Thursday (12/1/11)
 
** [[Media:BinaryTrees.ppt]]
 
** [[Media:BinaryTreeNode.java]]
 
** [[Media:BinaryTree.java]]
 
 
 
== Tuesday (11/22/11) ==
 
'''Warmup:'''
 
* Insert the following numbers into a binary tree: 45, 23, 12, 87, 54, 52, 12, 0
 
 
 
'''Agenda:'''
 
* Missing Prototype Solutions
 
* Demo completed Binary Tree w/ Strings
 
* Demo completed AddressBook w/ Menu and Binary Tree
 
 
 
== Wednesday - Friday (11/16/11 - 11/18/11) ==
 
'''Agenda:'''
 
* Turn in missing assignments: AddressBookLL & Prototype Solution
 
* Introduction to Binary Trees
 
** [[Media:BinaryTrees.ppt]]
 
** [[Media:BinaryTreeNode.java]]
 
** [[Media:BinaryTree.java]]
 
** [[Media:BinaryTreeTestMain.java]]
 
* Binary Tree Assignment - Convert BinaryTree so that it contains Strings instead of int.  Be sure to test it to make sure it works
 
** Binary Tree Assignment due Friday (11/18/11)
 
** [[Media:StringBinaryTreeTestMain.java]]
 
 
 
* AddressBookMain - implement an Edit feature.
 
*#In the Address menu, you will need to ask the user which Contact they want to edit
 
*#Search for the Contact, and then prompt the user which field they want to edit
 
*#Prompt the user for the new information and use the Contact's setter method to change the particular field
 
 
 
* AddressBook Binary Tree - due Tuesday (11/22/11)
 
*# Create 3 new classes called ContactBinaryTreeNode, ContactBinaryTree, and AddressBookBT
 
*# Convert the BinaryTreeNode and BinaryTree such that they use Contacts
 
*# Create a new AddressBookBT that uses a BinaryTree (instead of LinkedList)
 
 
 
* '''Upon completion, you should have an AddressBook with a menu that uses a binary tree, which allows users to add, remove, search, and edit Contacts'''
 
 
 
'''Homework:'''
 
* Binary Tree Assignment due Friday (11/18/11)
 
** [[Media:StringBinaryTreeTestMain.java]]
 
* AddressBookBT Assignment due Tuesday (11/22/11)
 
 
 
== Monday (11/14/11) ==
 
'''Agenda:'''
 
* Turn in missing Prototype Solutions
 
* Demo AddressBookLL Assignment
 
* Mr. Bui's AddressBookLLTest
 
** [[Media: AddressBookLLTest.java]]
 
* Implementing sorting with LinkedLists
 
 
 
== Wednesday (11/9/11) ==
 
'''Agenda:'''
 
* [http://contest.idtus.com/ IDT Programming Contest] will begin on 11/11/11
 
** Individuals and teams should meet after school on Monday (11/14/11)
 
* Take out your Dossier A3: Prototype Solution
 
** Should have a flowchart and corresponding screenshots
 
** We will be peer-editing and providing "user feedback"
 
* [http://www.washlee.net/cs2code/ CS2 Code]
 
* AddressBookLL Assignment due on Monday (11/14/11)
 
* You MUST work on the above at home.  There will not be much lab time to work on these assignments.
 
 
 
== Wednesday - Friday (11/2/11 - 11/4/11) ==
 
'''Agenda:'''
 
* IDT Programming Contest
 
** Begins November 11, 2011
 
** Solutions submitted by December 27, 2011
 
** 1st place - $1,500
 
** 2nd place - $750
 
** 3rd place - $500
 
* [http://www.teamcarney.com/jamtech/ Carney JAMTech] - December 3rd
 
* Demo your completed [[Media:LinkedList.java]]
 
* Test your LinkedList using [[Media:LinkedListTestMain.java]]
 
* Flow Charts
 
* Prototype Solution due Wednesday (11/9/11)
 
** Be sure to create a complete "Initial Design" flow chart of program screens
 
** Each box should have a corresponding prototype window
 
** [[Media:CriterionA3_prototypeSolution.doc]]
 
* AddressBookLL Assignment
 
*# Create a new Java Project and name it AddressBookLLProject
 
*# Copy over your Contact, AddressBook, and AddressBookMain classes to this new project
 
*# Create a new class named ContactNode
 
*#* ContactNode should be just like Node, but instead of having an '''int num''', you should have a '''Contact contact''' as the internal attribute
 
*#* Also be sure to have the next reference, which should be of type: ContactNode
 
*#* Your ContactNode class should have two constructors: ContactNode() and ContactNode(Contact newContact)
 
*# Create a new class named ContactLinkedList
 
*#* Copy over your LinkedList code
 
*#* Convert the code so that it uses ContactNode and Contact instead of int
 
*#* Wherever you need to return an error Contact, return '''null''' or -1
 
*# Change AddressBook so that it uses the ContactLinkedList instead of the Contact[]
 
*#* Be sure to create a '''new''' instance of ContactLinkedList in the AddressBook() constructor
 
*#* Most of AddressBook will look MUCH simpler b/c all you need to do is use the ContactLinkedList
 
*#* Comment out your sort() method
 
*# Test out everything using AddressBookMain, which should not require any changes except for commenting out the sort option
 
 
 
'''Homework:'''
 
* [[Media:CriterionA3_prototypeSolution.doc]] due Wednesday (11/9/11)
 
* AddressBookLL Assignment due on Monday (11/14/11)
 
* You MUST work on the above at home.  There will not be much lab time to work on these assignments.
 
 
 
== Archives ==
 
* [[IBCS2 - 1112 - October]]
 
* [[IBCS2 - 1112 - September]]
 

Latest revision as of 08:28, 13 September 2023