Difference between revisions of "IB Computer Science 2"

From WLCS
 
Line 1: Line 1:
== Friday (1/20/12) ==
+
== [[IBCS2 - Archives]] ==
'''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