IB Comp Sci 2010 - Daily Notes SL Year 2

Mon 9 Feb 2010

Turn in Stage B - Design.

Discuss Mastery Factor Check List

Wed 3 Feb 2010

 * SNOW DAY *

Take advantage of this time "off" to get some serious work done on your project. 
(1) Work on Stage B - Design - remember it is due on Mon 8 Feb.
(2) Read the sample dossier to see what your work should look like.
     Consult the advice in the guidance notes - that might also be helpful.
(3) If you get stuck, send an e-mail to the teacher at  Dave_Mulkey@fis.edu

Mon 11 Jan 2010

We will spend 4 weeks of class time writing the program for your dossier project.

Reminder of IA deadlines: 

Stage C :  Program Finished - 5 Feb 2010

Stage D + all printing :  12 Mar 2010

Presentation :  20 min Interview with the teacher,  
                scheduled between 15 Mar and 27 Mar, 2010

Mon 30 Nov 2009

Mock Exam Review

Wed 25 Nov 2009

Next week will be Mock Exam Review week .  We will review during classes.

Homework is to complete as much as possible on your functional prototype.

Due Date : Fri 4 Dec 2009

On Fri 4 Dec, you must turn in your functional prototype, together with your updated design overview.  The functional prototype must be submitted by saving it on the 329 server.  The revised design overview may be submitted on paper or electronically.  This is an IB Internal Assessment deadline and no extensions will be given.

Wed 18 Nov 2009

Functional Prototype

Before completing Stage B - Design - you may find it helpful to produce a functional prototype.  This should help you clarify your thinking about some of the data-structures and algorithms.  This is a very simple, starting version of your project's program.  Use your Overview Design document to guide your work.  The goal is not to produce a finished program, nor even to produce a limited version.  Rather, concentrate on just a few factors that might be tricky.  Ask the teacher for suggestions of what would be useful to write first. 

Here is the beginning of a Functional Prototype  based on the  Sport Team Overview  .  This would hopefully be written and tested in about an hour.

Mon 16 Nov 2009

Google Test - with answers

Fri 13 Nov 2009

Monday's test about Google will involve larger questions, like:

    Describe how Google manages to deal with a billion search requests per day.

      or

    Explain how Google has managed to implement a very sophisticated system
     using only normal (cheap) hardware - no expensive servers.

Read as much as you can, think about what it all means, and make sure you understand terms like: 

    Parallel processing,  clusters,  UPS,  index server,  Gigabyte,  artificial intelligence

and the rest of the words in the assignment.

Thu 12 Nov 2009

Homework - read this :
Google Server Design  http://news.cnet.com/8301-1001_3-10209580-92.html 

Tue 10 Nov 2009

Google Cluster Architecture

http://www.computer.org/micro/mi2003/m2022.pdf  

Mon 9 Nov 2009

1 - Read about the Google Algorithm and Google's PageRank
    
Write down questions and bring them to tomorrow's discussion.

2 - Open the notes below.  Read any (or all?) of the articles. 

       How Google Works

Your goal is to understand how Google works.

Thu 5 Nov 2009

Project Timeout

Put aside your project for a few days.  Let's talk about How Google Works .

The information in that page is about 5 years old.  Some things have changed since then.

In addition to answering the questions in the project page, try to update any information that is obviously out-of-date.

Try to categorize your questions and discussions into these categories:

*  WRITE NOTES both during discusssions and while you are researching/investigating.

ASK QUESTIONS - your goal should be to LEARN AS MUCH AS YOU CAN

LEARN VOCABULARY - things like bandwidth, terabytes, clusters, ....

Plan on a written test on Monday 16 Nov about How Google Works.

Tue 3 Nov 2009

Functional Prototype

Remember - your design overview is due on Thursday 5 Nov 2009

Mon 2 Nov 2009

Continue work on your OVERVIEW design for your project. 

Due Date : Thursday 5 Nov 2009

Fri 30 Oct 2009

You must create an OVERVIEW of your project design.

Due Date : Thursday 5 Nov 2009

You are encouraged to use the template shown below.  Change it as needed to suit your project.  Your project should be roughly this size.  If it's a lot smaller, you risk being penalized because it is too simple.  If it is considerably larger, you are commiting to a whole lot of work and you might fail to finish on time.

We will work on this during class on Monday and Tuesday - if you are unsure what to do next (e.g. you are "stuck") get help from the teacher.  You cannot afford to sit around waiting for inspiration.

Study the Sport Team Design Overview.  Notice that it contains a variety of ideas, but the ideas are organized into modules so that the design is clear and the program can be written.

   Sport Team Overview

Now take the Design Overview Template and start writing in ideas for your project. 

    Design Overview Template

You will probably modify this later, but try to do a complete job before you start programming.  Otherwise you will probably make false starts and waste time.

Later you will need to add more details to this chart and present your Detailed Design Documentation.  But you can ignore the small details for now.

Tue 27 Oct 2009

OOP

Tue 20 Oct 2009

Reminder :  Written test on Thur 22 Oct - About the Airport Case Study

         Here is the test and a make-up test .

Today's discussion:

For each sub-system in the Case Study, outline the data storage needs.   That means

Start with a PNR - p. 10.

Here are some further online resources worth looking at:

Off Topic : Here is an old video about Vista - how good it's GONNA be (?)
But it also has some interesting stuff about new development systems,
as well as "grid computing".

Friday 16 Oct 2009

Watch the film Eagle Eye - chapter 16 at the airport.  It shows how an automated baggage handling systems sorts out packages to end up in the right place.

Answer these questions:

  1. What's another name for a "ticketing machine"? (starts with K)
  2. What is inside the little half-dome bubble on the ceiling?
  3. Why are some of the scenes in black and white?
  4. Describe the data-transfer actions inside the computer system when you use "use a credit card to get your ticket". 
    -  What databases are accessed? 
    -  What forms of ID are used?
  5. Why do gates have numbers like "1C" instead of a name that describes what you find there - for example "Lufthansa to Berlin"?
  6. How does a passport ID function?
    - when you show it to a person
    - when a computer "scans" it
  7. "Please shut the cell phone off - you cannot take it through."  Why?
  8. Why must passengers remove their shoes?
    Why must they remove their hats?
  9. What are the purposes of a boarding pass?
  10. How does the FBI agent recognize the young man?
  11. How did the the young couple get through the exit door?
    Why did the FBI agent need a code to get through?
  12. The underground scene is actually a DHL package sorting system, but baggage handling system are similar. 
    - why are there so many conveyer belts and chutes?
  13. How does the computer recognize specific packages?
    Does it "read" the addresses?
  14. What is the purpose of the red laser scanners?
  15. How does the computer "decide" when to "divert" a package?
  16. How clever do the ground workers lifting packages need to be?
  17. Describe 2 reasons that a package would be diverted to a "holding area".
  18. Why do ground agents put those big sticky tags on your baggage?

    ====== Watch chapter 19 as well ======
  19. "...malfunction in hard-drive 3... Please remove drive"  Explain how it is possibnle to remove a hard-drive from a computer system without shutting down the computer.
  20. The young man, Ethan Shawe, is trying to impersonate his own twin brother, Gerry Shawe.
    -  Describe the consequences of twins for biometric ID systems.
    -  Identify 2 biometric ID methods used in the "biometric lock".
    -  Describe an ID method that could distinguish between identical twins.
  21. What access method does "Mr Secretary" try to use to open the door?
  22. Explain why the soldier and the woman are crawling around beneath the floor.  What is under the floor?
  23. Make an estimate of the quantity of data available to the monster "Eagle Eye" computer.
  24. What is a "sonic trigger"?

Eagle Eye is an interesting film for IB Computer Science students.  The overall scenario is unrealistic at the massive, catastrophic level presented, but lots of the small details are realistic (e.g. biometric ID systems).  If you get the chance, it's well worth watching.

Wed 14 Oct 2009

Read the Airports Case Study (get a paper copy from the substitute).  FIS local copy here.
Highlight any technical vocabulary that you don't understand.

Prepare for a detailed discussion on Thursday.  Here are some questions to consider:

(1) Look at the "Integrated airport system" diagram on page 3, as well as the brief description.  State 3 examples of data that might be shared between two different sub-systems.

(2) For 2 sub-systems, explain why security is an important issue.
     For 2 other sub-systems, explain why security is not so important.

(3) Page 5 lists a variety of biometric identification possibilities.
     (i) Describe a non-biometric identification system that depends on hardware.
     (ii) Describe a non-biometric identification system that depends on software. 

(4) Page 6 describes RFID tagging.  Explain briefly how this works.

(5) Page 7 describes self-service check-in.  Describe 2 automated processes that are probably required during self-service check-in.

(6) Page 8 says: "In particular, they are concerned that manipulating a computer-user interface will distract them from their tasks, and that important data automatically updated on a computer screen will go unnoticed."  Describe a possible method of dealing with this problem, so that they can finally get rid of their paper.

(7) Page 9 describes the baggage handling software. 
     (i) Explain what a "3D virtual reality baggage handling simulator" is.
     (ii) Describe 2 tests that should be carried out "in the real world"
          rather than depending on the simulator.

(8) Page 10 describes the Reservation sub-system.  Explain the role of "governments" in this system.

(9) Page 12 describes Wi-Fi. 
     (i)  Describe who uses this system and for what purpose.
     (ii)  Decide whether the Air-Traffic-Control system should use Wi-Fi
            and justify your answer.

(10) Page 13 talks about "overdependence on computer system."
    (i)  Describe 2 problems that would be difficult to handle without computer systems.
   (ii)  Describe 2 problems that could be handled adequately without computer systems.

Wed 30 Sep - Oct 1 2009

Data Structures + Algorithms = Objects

Tue 29 Sep 2009

Help the Bank

Mon 21 Sep 2009

RandomAccessFile Introduction

Mon 14 Sep - Fri 18 Sep

Turn in USER STORIES and GOALS (by e-mail).

This week, we will spend all class periods writing Stage A documentation.  So plan on working during class (bring your work with you).

Fri 11 Sep 2009

Now take the user stories and extract GOALS (criteria for success).
Turn in your USER STORIES and GOALS on Monday 14 Sep.

Wed 9 Sep 2009

Work on your Stage A documentation. 

If you haven't done so yet, read the Sample Dossier  
to see what's required, and start writing the Problem Description section.

As you gather more information, you may want to change
or expand your Prototype.  Maybe you can work on that.

Remember to bring a fairly complete set of User Stories
to class on Friday - otherwise you will be unable
to participate fully in the lesson.

Mon 7 Sep 2009

REMINDER : Stage A due Friday 25 Sep - more info here

Automation in Your Project

Due to network failures last week, several students failed to turn in their Automation ideas.  This is due at the beginning of the period today (Monday).

Reading - Read chapter 2 from Head First Software Development

               Read sample user stories in Dossier Guidance Notes 

                  Read the example user stories in the Sample Dossier

Talk With the User - Get User Stories

It's time to meet with your intended user.  Show them the ideas you have so far -

Take a notebook with you and collect User Stories. 

You will need to help the user in this task.  They are not likely to spontaneously tell you all the things you need to know. 

Due Date - Bring a copy of your notes to class on Friday 10 Sep.

Fri 28 Aug 2009

Automation in Your Project

The user must type in data and press buttons.  But the computer should be doing some work, too.  What automation can/will/should you implement to make the user's life better?  Stick to ideas that are feasible.  For example, in a math-quiz program like QuizTacToe:

    Okay - program presents questions in the order they are stored in a data file

    Better - program randomly chooses a math question from a list in a data file

    No -  program automatically creates a suitable question

    Maybe - program adjusts the difficulty of questions according to user's results,
                  e.g. after 4 correct answers, the program chooses harder questions

You can make a list of ideas and rate them as yes/no/maybe later, but it's probably best to avoid the "no" ideas if they are clearly too difficult.  If it sounds like a good idea, but you're not quite sure how to program it, but you're pretty sure it's possible, then it's a "maybe".

Take your time.  Do a lot of thinking about this.  Type your ideas in a word-processor.
Spend at least an hour on this.

Due  Tue 1 Sep

Thu 27 Aug 2009

Data - what DATA will your project need to input? store? output?

Start making a list of data-items (e.g. variables) and data-structures (e.g. arrays and files)Write down everything that pops into your head.  You can organize it later.

Homework:  Read p 13-16

Mon 24 Aug 2009

Design & Implementation Discussion

"2.  A  hospital is introducing two new computer systems.  One to handle stock control in the kitchens and another to monintor patients in intensive care using a central workstation receiving data from sensors attached to the patients." 
From Meyenn & Jones, p.9

a.  Describe how various users might access these two systems.

b.  Discuss how the changeover from the old system(s) could be made.  Use specific technical vocabulary to describe the changeover methodology.

c.  Discuss data items that will be:
     i.  shared by both parts of the system
    ii.  used only in one part of the system or the other.

d.  Describe 2 ways that integration between these systems could:
      i.  improve effiency
      ii.  improve reliability

e.  Describe some items that must be discussed in the requirements specification,
     including both data and algorithmic (features) items.

f.  Explain why part of the intensive care might use CLI instead of GUI.

Homework:  read p 10-12.  Be preapred to discuss this in the next class meeting.

Fri 21 Aug 2009

Due TODAY!

   PowerPoint Prototype for your project.

Homework:  read pages 6-8

Thu 20 Aug 2009

Due Tomorrow

   PowerPoint Prototype for your project - here are the topics:

More discussion about Projects :

 http://dl.getdropbox.com/u/239179/ibcomp/Dossier/DossierNotes.htm

** Homework:  Read pages 2-5 in the textbook **



IB Comp Sci 2010 - Daily Notes SL Year 1

Fri 19 June 2009

Summer Assignments

Fri 5 June 09

Internal Assessment Dossier Project

Final Exam Review

Click here to see the final exam review notes

Mon 18 May 09

Sorting and Searching in a Table

Friday 15 May 09

NetBeans Database #3 - An even better Student Planner

Wednesday 13 May 09

NetBeans Practice #2 - More with Student Planner

Tuesday 12 May 09

NetBeans practice project - Student Planner

Thursday 7 May 09

NetBeans FAQ (a few hints)

Wednesday 6 May 09

Standard Algorithms Practice

Test : Monday 11 May

Tuesday 5 May 09

Homework : Install NetBeans at home and try it out.
Keep the CD.  You will need to copy all the files
onto a hard-disk to make it work correctly.

Monday 4 May 09

Here a solution program for the first sorting worksheet.
It contains a SimpleSort instead of a SelectionSort.

Thursday 30 Apr 09

First try with Sorting

Wednesday 29 Apr 09

Answers for AWTpractice1, including TicTacToe buttons.

Homework : Find out the difference between "Bubble Sort" and "Selection Sort".

Tuesday 28 Apr 09

More AWTpractice

Friday 24 Apr 09

AWT Controls

    AWTpractice.java    Our Java Notes

Mon 20 Apr 09

Redesign - Improving the prototype to improve usability and functionality.

Tue 17 Mar 09

Student Tracking Project  

Wed 11 Mar 09

Turn in your Dates program by copying the entire folder into your folder on the web329 server.

Student Checkout Program - WRITING and READING text files

Mon 2 Mar 09 - Mon 9 Mar 09

Dates Mini-Project - due Wednesday 11 March (beginning of class)

Fri 27 Feb 09

Look at this sample program :  http://ibcomp.fis.edu/CIAfactbook/WordFinder.html

Add another TWO more FIND methods:

Hints :

In case you need the text files, here they are:

a b c d ... they are all in the zip archive.

Wed 25 Feb 09

Look at the CIA Factbook (at www.cia.gov)

Change one of the countries into a text-file (or download their text version)

Homework:  Write a program that can search through the file for a specific piece of data and print it - for example, searching for Population - then print the corresponding number.

Quiz Friday using the program you wrote.

Mon 23 Feb 09

Text Files

      Try these examples (at the end) : Data Storage and Text Files

Thu 12 Feb 09

Some vacation "reading" :

Not Quite Paperless Yet

The Amish - Resisting Technology

The Future (and history) of Science  

Wed 11 Feb 09

Data Storage and Text Files

Tue 10 Feb 09

  1. Turn in your Bomb-Seeker Program

  2.  

    Spend the rest of the period investigating and reading about and the "Paperless Office"

Mon 2 Feb 09

Bomb Seeker Assignment

Tue 27 Jan 09

Kings - a Simple Board Game in a 2-D Array

Bomb Seeker - a Minesweeper Imitation

Mon 26 Jan 09

Parallel Arrays

Thu 15 Jan 09

More practice with array algorithms.

Tue 13 Jan 09

Practice with array algorithms.

Fri 9 Jan 09

More simple algorithms - programming in class

Homework reading  -  Algorithm Notes

Thu 8 Jan 09

Packing Algorithms - More practice with array algorithms in the packing problem.

Homework :  write a program to find the largest number in an array

Wed 7 Jan 09

Automation

Mon 5 Jan 09

Simulations - Loading.java

Wed 10 Dec 08

Dice Games with OOP

Mon 8 Dec 08

CardGames with OOP

Wed 3 Dec 08

Object Oriented Programming

Examples:   Personal Notebook Program    Adder - OOP demo  BiggestPrime 

Reading:  http://math.hws.edu/javanotes/c5/index.html

Tue 2 Dec 08

OS Test

Thu 27 Nov 08

Be sure to read Mr Mulkey's notes about Operating Systems - Operating Systems - Past, Present, Future

Use these practice questions to review/practice for the TEST on Tuesday 2 Dec.  It's recommended that you study with other student(s) and compare your answers.  You may also ask questions in class and get the teacher's opinion.  Notice that the [number] in brackets after each question tells how many MARKS it will be given, and that is roughly equivalent to the number of significant ideas/concepts that your answer should contain.  So a [2] mark question would not require you to write an entire page for an answer.  In IB exams, you have about 1.5 minutes per mark to answer the questions - e.g. a 50 minute test would probably have 30-35 marks.

We will start programming again next Wednesday.

Wed 26 Nov 08

Operating Systems - Past, Present, Future

Prepare for a TEST on Tuesday 2 Dec.
The test will cover all the reading and lectures
from the past couple weeks - input/output devices,
operating systems, etc.  No programming on the test.

Mon 24 Nov 08

Operating Systems and Platforms

HW : Read this article : http://computer.howstuffworks.com/operating-system.htm/printable

5-minute quiz next class

Wed 19 Nov 08

Read pages 155-157 in Chapter 3

Find out how printers work.

Specifically, how does a laser-printer control where the text appears on the page?
How does it put the toner (powder) in the right place on the drum,
and how does the toner end up on the paper?

You might try reading about laser printers at www.howstuffworks.com

Tue 18 Nov 08

Read pages 151-154 in Chapter 3

Quiz tomorrow (5 minutes)

Thu 13 Nov 08

Read pages 140-144 in Chapter 3

Wed 12 Nov 08

System Fundamentals Overview

Thu 6 Nov 08

Airline Seating in Arrays

Mon 3 Nov 08

Practice programming arrays

Thu 30 Oct 08

Arrays = Lists

Mon 27 Oct 08

Loops Practice

Fri  24 Oct 08

Homework:  Read lesson 11 in Blue Pelican Java - "The For...Loop"

                     Memorize:  1, 2 , 4 , 8 , 16 , 32 , 64 , 128 , 256 , 512 , 1024

Tue 21 Oct 08

1.  Turn in your Jeopardy program by PRINTING IT ON PAPER and giving the paper to the teacher.

2.  The class will discuss these practice problems.

Daily Quick Quiz

Beginning Wed 22 Oct, each class will begin with a 5-10 minute written quiz.  These will always be written on paper - they will not involve using the computer.  Why?  At the end of the IB course, you will have 2 written exams, about 90 minutes each.  You will need to write clear, concise, correct answers quickly on paper.  That includes writing Java program code.  Practice makes perfect (or at least better)! ( If you arrive late to class, you will have less time to write your answers.)

Mon 20 Oct 08

Bring a working program on Tuesday, 21 Oct to be graded.

Mon 13 Oct 08

This week we will work on the Jeopardy program.  

Mr Mulkey will be absent Wed-Fri.  If you get stuck and need help, you should talk to another student, or send an e-mail to :  Dave_Mulkey@fis.edu .  You won't get an immediate answer, but certainly within a couple hours.  

Follow the instructions in the assignment.  Bring a working program on Monday, 20 Oct to be graded.  You may share ideas with other students, but don't copy code directly.

Tue 16 Sep 08

Math Helper - a complex math calculator

Dr Java

DrJava is a standard Java IDE. We will start using this now, as Processing is a bit non-standard, making it difficult to work with standard Java sample programs. Start DrJava from your class CD, or from the short-cuts on our 329 desktops.

You can download DrJava here:  http://ibcomp.fis.edu/drjava.exe
or here:   http://www.drjava.org  (get the Windows Executable file)

Mon 1 Sep 08

Inputting Numbers

Read these notes and do the programming practice at the end

Tue 26 Aug 08

Reminder : Quiz Friday 29 Aug 08

Homework: Read about Inputting Numbers

Mon 25 Aug 08

Reminder : Quiz Friday 29 Aug 08

Read : chapter 4 in Blue Pelican Java.  
Do the questions at the end of the chapter by:
- reading the question
- trying to guess the answer
- checking the answer by running the code in a Java editor (Processing)

The teacher will answer questions tomorrow in class.


Here are the teacher's answers (no guarantees):

(1) 109, 104    (2)  j++;  or  j=j+1;  or  j+=1;    (3) 1992.37

(4)  System.out.println(zulu--);   (5) 3    (6) v -= (p-30);

(7)  v = v - (p-30)      (8)  -22     (9)  2 , 5     (10) 3=g causes an error

(11) double  m = 3.14 , b = 3.14 , f = 3.14 ;   (12)   int x,y,z;

(13) 7      (14) 21      (15) a command that changes the value of a variable

(16)   k = i%j;     (17) 4 ??     (18)   j--;  or   j = j-1;  or  j -= 1;


x = x++ ; is a very silly statement, that doesn't do what we expect.
So don't use it!  Write  x = x + 1;  or   x++;


 

Emergency Plans

http://dl.dropbox.com/u/239179/EmergencyPlan.html