MathHW.net

IBCS Requirements

  1. System fundamentals
  2. Computer organization
  3. Networks
  4. Computational thinking, problem-solving and programming

  5. HL Extensions
  6. Abstract data structures
  7. Resource management
  8. Control


Course Option SL/HL



IB CS Links

Java Topics

Online Resources

Daily Agendas

Course
Review
    HWMath.net
  • See the left hand side table of contents for course content, class activities, and resources for each topic.
  • See the daily for additional handouts and links
  • Complete assignments on Google Classroom - especially the recent ones to review course materials.

Review Resources by Topic

Topic 1: System Fundamentals

Topic 2: Computer Organization

Topic 3: Networks

Topic 4: Computational thinking, problem solving, and programming

Topic 5: Abstract Data Structures

Topic 6: Resource Management

Topic 7: Control

Option C: Web Science


Friday
April 28, 2017
    Starters
  • Handouts: GPS
    Main Activity
  • Reviw materials for Paper 1, Paper 2, Paper 3

    Homework
      • Complete the Review and Study Guide
      • When you are done with the Review and Study Guide, spend 15 minutes at a time reviewing one Topic at a Time. Reviewing 2 Topics per day until Paper 1 have you well prepared (far better than not preparing, and better than waiting until the last minute)
      • Update Google Class Room when you have completed the Review and Study Guide
      • Review the web page Characterisitics of Standard Algorithms

Thursday
April 27, 2017
    Starters
  • Review the Agendas and review materials that students have missed or neglected.
    Main Activity
  • Handouts: Practice Problems from past papers
  • Answer review

    Homework
      • Complete the Review and Study Guide
      • When you are done with the Review and Study Guide, spend 15 minutes at a time reviewing one Topic at a Time. Reviewing 2 Topics per day until Paper 1 have you well prepared (far better than not preparing, and better than waiting until the last minute)
      • Update Google Class Room when you have completed the Review and Study Guide
      • Review the web page Characterisitics of Standard Algorithms

Wednesday
April 26, 2017

    Homework
      • Complete the Review and Study Guide
      • When you are done with the Review and Study Guide, spend 15 minutes at a time reviewing one Topic at a Time. Reviewing 2 Topics per day until Paper 1 have you well prepared (far better than not preparing, and better than waiting until the last minute)
      • Update Google Class Room when you have completed the Review and Study Guide
      • Review the web page Characterisitics of Standard Algorithms

Monday
April 24, 2017
    Starters
  • I need some interested students to show their IA on Thursday.

    Homework
      • Complete the Review and Study Guide
      • When you are done with the Review and Study Guide, spend 15 minutes at a time reviewing one Topic at a Time. Reviewing 2 Topics per day until Paper 1 have you well prepared (far better than not preparing, and better than waiting until the last minute)
      • Update Google Class Room when you have completed the Review and Study Guide
      • Review the web page Characterisitics of Standard Algorithms

Thursday
April 13, 2017
    Starters
  • Review the content available on this web site
    Main Activity

    Algorithms
    Recurusion and recursive algorithms

    The Legend

    Legend has it that a group of Eastern monks are the keepers of three towers on which sit 64 golden rings. Originally all 64 rings were stacked on one tower with each ring smaller than the one beneath. The monks are to move the rings from this first tower to the third tower one at a time but never moving a larger ring on top of a smaller one. Once the 64 rings have all been moved, the world will come to an end.
    Activity - the Tower of Hanoi : Pieces will be distributed.
    How can the solution to the Tower of Hanoi puzzle be represented as a recursive algorithm>

    Online version: Tower of Hanoi

    Searching Handout: Sorted and Unsorted Arrays
    Video : Binary Search

    Activity: Sorting an array using a linked list

    Sample Test Questions Review: Test Question Formats - display of sample test questions
    Handout: The Car Park

    Homework
      • Complete the Review and Study Guide
      • When you are done with the Review and Study Guide, spend 15 minutes at a time reviewing one Topic at a Time. Reviewing 2 Topics per day until Paper 1 have you well prepared (far better than not preparing, and better than waiting until the last minute)
      • Update Google Class Room when you have completed the Review and Study Guide
      • Review the web page Characterisitics of Standard Algorithms

Wednesday
April 12, 2017
    Starters
  • Review the content available on this web site

    Homework
      • Complete the Review and Study Guide
      • When you are done with the Review and Study Guide, spend 15 minutes at a time reviewing one Topic at a Time. Reviewing 2 Topics per day until Paper 1 have you well prepared (far better than not preparing, and better than waiting until the last minute)
      • Update Google Class Room when you have completed the Review and Study Guide

Monday
April 10, 2017
    Starters
  • Collect classwork from Wednesday/Thursday
  • Review the content available on this web site
    Main Activity
  • Review System Design Basics (student paced)
  • Review Systems in Organizations (student paced)
  • Review the solition to the half-marathon problem : See section 4.2 - from the left menu go to Computational Thinking, Problem Solving, and Programming.
  • Review the resources available on Quizlet.com both for SL and HL topics

    Homework
      • Collections
      • Complete the Practice-Fares Assignment
      • Update Google Class Room when you have completed the assignment.

Friday
April 7, 2017
    Starters
  • Collect classwork from Wednesday/Thursday
    Main Activity
  • Case Study Materials

    Homework
      • Collections
      • Complete the Practice-Fares Assignment
      • Update Google Class Room when you have completed the assignment.

Thursday
April 6, 2017
    Starters
  • Rubric for Fares project
    0: no files found in cloud9 _java workspace, no effort
    1: data file created in cloud 9, no other answers presented
    5: all answers from handout presented
    6: + java program can read data file
    7: + java program creates sorted array (or list) of station names
    10: Fares table properly printed

  • Quiz: Wireless Networking

    Homework
      • Collections
      • Complete the Practice-Fares Assignment
      • Update Google Class Room when you have completed the assignment.

Wednesday
April 5, 2017
    Starters
  • Rubric for Marathon.java
    0: no files found in cloud9 _java workspace, no effort
    2: Marathon.java compiled, no real changes
    3: Marathod.java compiled with traces on, no other real changes
    6: Members of teams are linked in one direction
    7: Members of teams are circularly linked
    8: Traces show that teams are correctly linked
    10: Each team is output with a list of the team memebers (one team per line)
    13: Each team is output with a list of the team memebers, and the best 3-times are displayed and summed
    15: All of the requirements of 13 plus the names and times are displayed for the top-finishing three teams

  • Today you will create algotithms and apply them to solving problem adapted from past IBCS papers.
  • Read about the properties and methods of various Collections
    Main Activity
    1. Open your _java workspace on cloud9
    2. Follow the directions in the handout: Practice-Fares.pdf
    3. Some of your answers will be submitted on paper, some in java programs in Cloud9.
    4. Update the assignment status in Google Classroom when your assignment is complete (and/or leave a message on Google Classroom about the progress you have made.
    5. You may choose the type of Collection to use where the directions are not clear,
        Summary
          Collections methods that you may have used today:
        • .size()
        • .get()
        • .add()
        • .indexOf()
        • .iterator()
        • .isEmpty()
        • and possibly a sort method somehow

    Homework
      • Collections
      • Complete the Practice-Fares Assignment
      • Update Google Class Room when you have completed the assignment.

Monday
April 3, 2017
    Starters
  • Today you will implement the collections algorithms for the Half Marathon program. You will use an ArrayList which is a type of collection (so it has methods available from Collections).
  • Read about the properties and methods of the ArrayList class
  • Read the example how to sort an ArrayList
    Main Activity
    1. Open your _java workspace on cloud9
    2. Dowload the Marathon.java program
      Or from a terminal window wget hwmath.net/IBCS/files/Marathon.java
    3. Download the data file Participants.dat using wget:
      wget hwmath.net/IBCS/files/Participants.dat
    4. The Marathon class contains the following ArrayLists:
      	
         ArrayList PARTICIPANTS = new ArrayList(); // max number of participlants = 450 
       	 			                     // contains the name of the team they are on 
         ArrayList TIMES = new ArrayList();    // The finish time of each runner 
         ArrayList TNAMES = new ArrayList();     // if each team had the min of 150 participants 
         ArrayList TEAM  = new ArrayList();    // links team members together 
      	
    5. Review the main program
       public static void main(String[] args) {
           Marathon	half = new Marathon(); 
           try {
                half.loadParticipants("Participants.dat"); 
                half.findTeams(); 
                half.linkTeams(); 
                half.printTeams(); 
               }
           catch (Exception e)
              {
                System.err.format("Exception occurred in main program");
                e.printStackTrace();
              }
      }
      	
    6. Review method loadParticipants() and see how the input file is processed and the ArrayLists PARTICIPANTS and TIMES are initialized.
    7. Review the method findTeams() and see how the list of PARTICIPANTS is traversed to create a list of TNAMES which contains a list of all of the unique team names.
    8. Assignment 1:
      Complete method linkTeams() to make a "link" between each member of a team. See the handout from last week for more details. The list of teammates is circular, so if you start at any index you should be able to find all of the members who are on the same teams.
    9. Assignment 2:
      Complete method printTeams() to print the name of each time on a line with the indexes of all other participants who are on the same team.
    10. Challenge Assignment 1:
      Modify the printTeams() method to also print the teams competitive time: teams are comprised of 3-5 team members, the sum of the lowest three scores on a team becomes the teams time.
    11. Challenge Assignment 2:
      Have your program identify the teams that came in first, second, and third, along with each teams time.
    Summary
      ArrayList methods that you should have used today:
    • .size()
    • .get()
    • .add()
    • .indexOf()
    • and possibly a sort method somehow

    Homework
      • Collections
      • Complete the Marathon.java program
      • Update Google Class Room when you have completed the assignment. Email your results to jbrennan@isbos.org and I'll reply back with the answer key.

Friday
March 31, 2017
    Summary
    • 7.1.1 Discuss a range of control systems.
    • 7.1.2 Outline the uses of microprocessors and sensor input in control systems.
    • 7.1.3 Evaluate different input devices for the collection of data in specified situations.
    • 7.1.4 Explain the relationship between a sensor, the processor and an output transducer.
    • 7.1.5 Describe the role of feedback in a control system.
    • 7.1.6 Discuss the social impacts and ethical considerations associated with the use of embedded systems.

    Homework
      • Collections
      • Complete the collections handout from Thursday - answer all questions
      • Update Google Class Room when you have completed the handout

Thursday
March 30, 2017
    Starters
  • Practice Logic problems and Number Conversion
    Main Activity
      Collection Application

  • Practice test question Collections
    Summary
    • Be able to list several types of collections
    • Be able to identify and explain the basic operations/methods associated with collections

    Homework
      • HL Control Project
      • Thursday 3/30 - Control Case study videos due
      • Friday 3/31 - Case Study Topics/Investigations videos

Wednesday
March 29, 2017
    Starters
  • Collect forms for IA / Group 4 Project
    Main Activity
      Introduction to Collections and the StudyWords applet

      The StudyWords applet has the following educational objectives
    1. Demonstrate the use of a collection
    2. Show how to create a java applet that can be run from a web browser.
    3. Show how java form elements can be created without the use of a fancy IDE.
    4. Show how a java applet can be used to access a file local to the client.
    5. Demonstrat using a applet that has been signed : in this case using the instruction that can be found on kutztown.edu/spiegel/CSc421
      Directions
  • New version of the Collections Lab Collections 2
    Summary
    • Be able to list several types of collections
    • Be able to identify and explain the basic operations/methods associated with collections

    Homework
    • For Wednesday: Read the Collections section of the AP Computer Science book
    • For Wednesday: Complete the IA form Group 4 Project section,
    • Complete all assignments that you have not already completed, especially the IA Tasks
      • Complete IAs the must be stored in your Cloud9 _html workspace to be collected, or in your _jave workspace if you have clear it with the instructor.
      • HL: Complete Reading: Topic 7: Control handout
      • HL: Complete Reading: Topic 6: Resource management handout
      • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
      • HL: Students should be prepared for a vocabulary quiz on all Control terms
        • HL Control Project
        • Thursday 3/30 - Control Case study videos due
        • Friday 3/31 - Case Study Topics/Investigations videos
      • Read handout: The future of health IT innovation and informatics: a report from AMIA's 2010 policy meeting
      • Read Multi-sensors Analysis for Everyday Elderly Activity Monitoring


Monday
March 27, 2017
    Starters
  • Handout: IBCS Social Ethical Issues
  • Handout: IBCS IB Pseudocode Rules
    You were provided a copy of this at the beginning of the year. Today we will begin to associate java collections with the pseudocode representation.
    Main Activity
      Introduction to Collections and the StudyWords applet

      The StudyWords applet has the following educational objectives
    1. Demonstrate the use of a collection
    2. Show how to create a java applet that can be run from a web browser.
    3. Show how java form elements can be created without the use of a fancy IDE.
    4. Show how a java applet can be used to access a file local to the client.
    5. Demonstrat using a applet that has been signed : in this case using the instruction that can be found on kutztown.edu/spiegel/CSc421
      Directions
    • Download one or more of the following vocabulary data files, saving them to a location that you will easily be able to locate:
    • Review the definition of the HashSet<Word> set declaration and the structure of the Word class.
    • Open one of the text files that you have downloaded using Notepad or another text editor.
    • Trace the actions of the load(HashSet set, File inputFile) method using the input file and tracing the contents of set collection.
    • Trace the actions of a call to gotoEl(4); This is a standard way to traverse through a collection.
      What exactly does gotoEl do?
    • Trace the declaration and use of the variable txtDef . List the properties and methods that are associated with txtDef that are demonstrated with this applet.
    • Test the applet using StudyWords
    • Put a copy of HWMath.net/IBCS/content/java/source/StudyWords.java into your Cloud9 name_java workspace.
    • Complete Assignments 1 and 2 from the handout.
    Summary
    • Be able to list several types of collections
    • Be able to identify and explain the basic operations/methods associated with collections

    Homework
    • For Wednesday: Read the Collections section of the AP Computer Science book
    • For Wednesday: Complete the IA form Group 4 Project section,
    • Complete all assignments that you have not already completed, especially the IA Tasks
      • Complete IAs the must be stored in your Cloud9 _html workspace to be collected, or in your _jave workspace if you have clear it with the instructor.
      • HL: Complete Reading: Topic 7: Control handout
      • HL: Complete Reading: Topic 6: Resource management handout
      • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
      • HL: Students should be prepared for a vocabulary quiz on all Control terms
        • HL Control Project
        • Thursday 3/30 - Control Case study videos due
        • Friday 3/31 - Case Study Topics/Investigations videos
      • Read handout: The future of health IT innovation and informatics: a report from AMIA's 2010 policy meeting
      • Read Multi-sensors Analysis for Everyday Elderly Activity Monitoring


Friday
March 24, 2017
    Starters
  • Handout: Sample case study
  • Please read the last page first, then read the case study
    Main Activity
      Answering Case Study Questions
    • Understand the background
    • Appreciate the vocabualary list in the back, identify:
      • Technology terms and issues
      • Ethics terms and issues
      • Case-study specific terms and issues - in this case health-care terms
      • English vocabulary - words in the case study you do not know
    • Healthmap.org
      Information technology and modern communication networks are powerful and convenient tools for tracking disease outbreaks in near real-time. HealthMap.org offers an up-to-date online map of disease outbreaks across the globe.
    • Case Study
      Resources from ITGS textbook
    • The future of health IT innovation and informatics: a report from AMIA's 2010 policy meeting
      Summary
      • Complete IAs
      • HL: Complete Reading: Topic 7: Control handout
      • HL: Complete Reading: Topic 6: Resource management handout
      • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
      • HL: Students should be preparedfor a vocabulary quiz on all Control terms.
        • HL Control Project
        • Thursday 3/30 - Control Case study videos due
        • Friday 3/31 - Case Study Topics/Investigations videos


Thursday
March 23, 2017
    Summary
    • Complete IAs
    • HL: Complete Reading: Topic 7: Control handout
    • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
    • HL: Students should be preparedfor a vocabulary quiz on all Control terms.
      • HL Control Project
      • Thursday 3/30 - Control Case study videos due
      • Friday 3/31 - Case Study Topics/Investigations videos

    Homework
      Ongoing
    • Be familiar with all Topic 7: Control terminology
      You should have read pages 7-11
      Read pages 1 - 6
      Read pages 12 - end
    • Read the handout C.5 Analysing the web

      Past Due
    • IA - Completed Parts A through E
    • IA - A completed status report that you have read
    • IA - A video of your product in use
    • IA - All material uploaded and updated in Cloud 9

    • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
    • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
    • Due: Friday March 31, 2:35 Video's will be presented/shown during class

Wednesday
March 22, 2017
<
    Main Activity
      Selected Operating System and Resource Management Topic
    • Download the Word Document for today's lab from Google Classroom
    • Open a browser window to your Cloud9 _jave workspace, and then start a new terminal session
    • Online: Follow the lab directions in the word document, and update the document as directed.
    • Email your document to jbrennan@isbos.org at the end of the period
    Summary
    • Complete IAs
    • HL: Complete Reading: Topic 7: Control handout
    • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
    • HL: Students should be preparedfor a vocabulary quiz on all Control terms.
      • HL Control Project
      • Thursday 3/30 - Control Case study videos due
      • Friday 3/31 - Case Study Topics/Investigations videos

    Homework
      Ongoing
    • Be familiar with all Topic 7: Control terminology
      You should have read pages 7-11
      Read pages 1 - 6
      Read pages 12 - end
    • Read the handout C.5 Analysing the web

      Past Due
    • IA - Completed Parts A through E
    • IA - A completed status report that you have read
    • IA - A video of your product in use
    • IA - All material uploaded and updated in Cloud 9

    • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
    • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
    • Due: Friday March 31, 2:35 Video's will be presented/shown during class

Monday
March 20, 2017
    Starters
    • SL: Matching handout
    • HL: Matching activity: Control/sensors
    Main Activity
      Selected Operating System and Resource Management Topic
    • Handout: lab activities
    • Online: Follow the lab directions and update the document posted on Google Classroom
    Summary
    • Complete IAs
    • HL: Complete Reading: Topic 7: Control handout
    • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
    • HL: Students should be preparedfor a vocabulary quiz on all Control terms.
      • HL Control Project
      • Thursday 3/30 - Control Case study videos due
      • Friday 3/31 - Case Study Topics/Investigations videos

    Homework
      Ongoing
    • Be familiar with all Topic 7: Control terminology
      You should have read pages 7-11
      Read pages 1 - 6
      Read pages 12 - end
    • Read the handout C.5 Analysing the web

      Past Due
    • IA - Completed Parts A through E
    • IA - A completed status report that you have read
    • IA - A video of your product in use
    • IA - All material uploaded and updated in Cloud 9

    • HL: Read the Control Section of hwmath.net/IBCS, see the left side of the page for the link. This online content supplements the handout.
    • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
    • Due: Friday March 31, 2:35 Video's will be presented/shown during class

Friday
March 17, 2017
    Starters
    • Topic 7: Control warm-up activity
    • Discrete Math: Graph Therory
    Main Activity
      Web Science Topic C.5 Analysing the web [HL]
    • Graph theory terminology
    • Seeing the web as a directed graph
    • Making the connections between the graph theory and how search engines work
    • Practice questions
    • Handout: C.5 Analysing the web
      Source: www.cs-ib.net

    Summary
    • Discuss IAs
    • Discuss Calendar
      • Today: Friday 3/17 - Viewing the Web as a directed graph (HL only)
      • Monday 3/20 - Lab - OS Resource Management (SL/HL)
      • Wednesday 3/22 - Lab - OS Resource Management (SL/HL)
      • Thursday 3/23 - Wireless Network Lab (SL/HL)
      • Friday 3/24 - Case Study Topics/Investigations (HL Only)

    Homework
      Ongoing
    • Be familiar with all Topic 7: Control terminology
      You should have read pages 7-11
      Read pages 1 - 6
      Read pages 12 - end
    • Read the handout C.5 Analysing the web

      Past Due
    • IA - Completed Parts A through E
    • IA - A completed status report that you have read
    • IA - A video of your product in use
    • IA - All material uploaded and updated in Cloud 9

    • Due Thursday March 16 before the start of class
      Read the Control handout pages 7 - 11
      Know the sensors
    • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
    • Due: Friday March 31, 2:35 Video's will be presented/shown during class

Thursday
March 16, 2017
    Starters
    • Review Handout: Operating Systems
    • Return papers
    Main Activity
      Operating Systems and Managing Resources
    • Computer Systems
    • Components of an Operating system
    • Resources to be managed
    • Preparation for Computer Labs next Monday and Wednesday

    Summary
    • Discuss IAs
    • Discuss Calendar
      • Friday 3/17 - Viewing the Web as a directed graph (HL only)
      • Monday 3/20 - Lab - OS Resource Management (SL/HL)
      • Wednesday 3/22 - Lab - OS Resource Management (SL/HL)
      • Thursday 3/23 - Wireless Network Lab (SL/HL)
      • Friday 3/24 - Case Study Topics/Investigations (HL Only)

    Homework
      Past Due
    • IA - Completed Parts A through E
    • IA - A completed status report that you have read
    • IA - A video of your product in use
    • IA - All material uploaded and updated in Cloud 9

      Due Thursday March 16 before the start of class
    • Read the Control handout pages 7 - 11
      Know the sensors
    • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
    • Due: Friday March 31, 2:35 Video's will be presented/shown during class

Monday
March 13, 2017
    Starters
    • Return papers
    Main Activity
      Topic 7: Control
    • Nearpod Presentation: Control 1
      Vocabulary Goals: be able to provide examples for each of the following:
      • Autonomous Agent
      • Transducer
      • Device Driver
      • Sensor
      • Input devices
      • Central control system
      • Distributed control system
      • Medical Sensors
      • Accessibility input devices
      • Sensor applications
      • Control systems

    • Contol Project
      • See Handout: Control Project Assignment
      • Spend the remaining class time conducting research on your chosen system.
    Summary
    • Schedule for the Topic 7: Control
    • SL implications
    • HL Requirements
    • "Text: handout, all students
    • Control System Assessments

    Homework
      Due Thursday March 16 before the start of class
    • Read the Control handout pages 7 - 11
      Know the sensors
    • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
    • Due: Friday March 31, 2:35 Video's will be presented/shown during class

Friday
March 10, 2017
    Starters
    • SL Students: Make-up quizzes
    • HL Students: Continue working on your Elevator Algorithm
    Main Activity
      Topic 7: Control
    • Test your elevator algorithm using the scenario provided
    • Checking each other's algorithm for completeness and accuracy

    • Contol Project
      • Handout: Control Project Assignment
      • Example: Automatic Doors (video and class assessment)
      • Schedule:
        • Assigned: Friday March 10
        • Weeked March 11-12: Find and claim a control project system
        • Monday March 13: nearpod presentation Components of Control Systems followed by class time to conduct research on your chosen system.
        • Due: Thursday March 30, start of class. Videos must be uploaded into your Cloud 9 environment by the start of class, 9:00.
        • Due: Friday March 31, 2:35 Video's will be presented/shown during class
    Summary
    • Schedule for the Topic 7: Control
    • SL implications
    • HL Requirements
    • "Text: handout, all students
    • Control System Assessments

    Homework
      Due Monday March 13 before the start of class
    • Identify a control system to use on your project. Claim that topic by filling in the shared document on Google Classroom. Then update the assignment on Google classroom to say that you have completed the assignment (which is to claim a topic).

Thursday
March 9, 2017
    Starters
    • Handout: Truth tables and Boolean Algebra
    • Check homework
    Main Activity
      Introduction to Topic 7: Control
    • Intro (SmartNotebook file)
    • Control systems prompts
    • Group work - control system algorithms
      file: start point file: testing algorithms
    Summary
    • Schedule for the Topic 7: Control
    • SL implications
    • HL Requirements
    • "Text: handout, all students
    • Control System Assessments

    Homework
      Due Friday March 10 beforethe start of class
    • Complete the Rational.java program so thay you can get credit for it during Trimester 2

Wednesday
March 8, 2017
    Starters
      On a sheet of paper, perform the following rational number calculations, showing ALL of the steps needed. Do NOT simplify the answers.
    1. 2/3 + 9/11
    2. 6/15 - 1/4
    3. 7/8 * 2/3
    4. (4/9) / (9/4)
    Main Activity
      If you did not complete the Data Abstraction homework
    1. Create a directory named rational in your cloud 9 _java work areas.
    2. Read Monday's handout - the section: Example: Arithmetic Operations for Rational Numbers
    3. Read today's handout very carefully, you will need to pay attention to every detail.

      Classwork for today
    1. Read through the handout
    2. Complete Activity Four
    3. Complete Activity Five
    4. Compare your output of Activity Four and Activity Five. Be sure you can explain any differences.
    5. Complete Activity Six
    6. Complete Activity Seven - is logical steps. As needed, check your answers to the Answer Key for Activity Four and Activity Six.
    7. Verify that each of the following files are in your rational directory of your _java Cloud 9 workspace, and that all of the .java programs compile
      • Ratl.class
      • Rational.java
      • Rational.class
      • Ratl-New.out

    Homework
      Due Thursday March 9 beforethe start of class
    • Complete the handout Truth Tables and Logic Circuits
    • Complete the classwork from today.

Monday
March 6, 2017
    Test
  • Test: Network Fundamentals and Data Communications
    After the Test
      Data Abstraction
    • Read the handout Data Abstraction
    • Complete Activities One and Two

    Homework
      Due Wednesday March 8 beforethe start of class
    • Complete Activities One and Two from the handout Data Abstraction
    • Complete Activity Three from the handout:
      Read the section of Chapter 3 Inheritance and Polymorphism on Inheritance pages 131 - 137 in the 7th Edition.

Friday
March 3, 2017
    Starters
  • Network Vocabulary Quizzes
    IA Packaging
    • Directory clean-up
    • Executing the backup_ia.sh script
    • Automatically uploading tar files

    Homework
      Prepare for Networking Test Monday March 6
    • Review Networking Material: Pages 1-26
    • Review the Network section on HWMath.net/IBCS (see left)
    • WatchNetworking Video on Youtube
      Total running time 33:28
        Time index   Content
      • 00:00 - 06:52 Objectives/Overivew/Communications and Topologies
      • 06:52 - 11:31 Data Communications
      • 11:31 - 14:00 Networking HW/SW/ categories
      • 14:00 - 20:40 The Physical structure of a network
      • 20:40 - 23:40 The Internet
      • 23:40 - 31:45 The OSI Model
      • 31:45 - 33:28 Summary

Thursday
March 2, 2017

    Homework
      Prepare for Networking Test Monday March 6
    • Review Networking Material: Pages 1-26
    • Review the Network section on HWMath.net/IBCS (see left)
    • WatchNetworking Video on Youtube
      Total running time 33:28
        Time index   Content
      • 00:00 - 06:52 Objectives/Overivew/Communications and Topologies
      • 06:52 - 11:31 Data Communications
      • 11:31 - 14:00 Networking HW/SW/ categories
      • 14:00 - 20:40 The Physical structure of a network
      • 20:40 - 23:40 The Internet
      • 23:40 - 31:45 The OSI Model
      • 31:45 - 33:28 Summary
    • Be prepared for a Networking Quiz Thursday and Friday on any topic that has been assigned or covered in class.

Wednesday
March 1, 2017
    Starters
  • Review Schedule for next few classes
    Main Activity
      Continue Internal Assesment
    • Spend class time wisely finishing up your Internal Assessment Project, such as recording/editing your Video,
    • Completeing a test plan that walks through a demonstration of your product, that covers each of the evaluation criteria.
    • Using your test plan to create a scripted walk-through of your project, that narrates the functionality, extensions, and any interesting features of your project.
    • Updating the task list in your _html workspace on Cloud9 with all of the tasks needed to complete Section D and Section E.
    • Updating the Status Report.Status Report due at the end of the period

    Homework
      Prepare for Networking Test Monday March 6
    • Review Networking Material: Pages 1-26
    • Be prepared for a Networking Quiz Thursday and Friday on any topic that has been assigned or covered in class.

Monday
February 27, 2017
    Starters
  • Nearpod presentation - Secion D: The Video Code FQHRC
    Main Activity
      Internal Assesment

    • Create a test plan that walks through a demonstration of your product, that covers each of the evaluation criteria.
    • Use your test plan to create a scripted walk-through of your project, that narrates the functionality, extensions, and any interesting features of your project.
    • Update the task list in your _html workspace on Cloud9 with all of the tasks needed to complete Section D and Section E.
    • Turn in an updated Status Report.Status Report due at the end of the period

    Homework
      Due Wednesday March 1
    • Read Networking: Data Transmission Pages 20-26 this was handed out in class on Friday February 17.
    • Be prepared for a Networking Quiz on any topic that has been assigned or covered in class.
    • Be prepared on Wednesday to spend class time wisely finishing up your Internal Assessment Project. Wednesday would be a good day to spend recording/editing your Video,

Friday
February 17, 2017
    Starters
  • Homework double check - the first check is/was scheduled for 12:01 this afternoon.
  • Start your computer and go to hwmath,net/IBCS
    Main Activity
      Internal Assesment Part E

    • Download the word document Crit_E_Evaluation-Template.docm(This is a macro-enabled word document)

    • Open the document using Microsoft Word
    • Follow the directions given in class prior to editing the document.
    • Follow the directions given in the document
    • At the end of the class period, save your document and upload it to your IA documentation folder in your cloud9 _html workspace.

    Homework
      Due Monday February 27
    • Have a safe February Vacation
    • I can be available next week at any local library needed - schedule as needed for assitance with anything
    • Be smart.

Thursday
February 16, 2017
    Starters
  • Read the handout provided
    Main Activity
      Network Presentations

    • Data Transmission
    • Network cabling and devices
    • Some wireless network topics
    • Handout: Data transmission notes
    • Handout: note pages

    Homework
      Due Friday - this is a 20 point homework assignment and must be completed in order for you to be successful in class on Friday.
    • Read the handout Review: System Fundamentals
    • Answer the question listed in the Internal Assessment System Fundamentals document (IA-SystemFundamentals.docx) that is posted on google classroom. The document is due at 12:00 Noon Friday February 17. Update google classroom to mark the assignment as complete prior to 12:01 PM Friday.
    • Be prepared to spend at Friday making substantial progress with your Internal Assessment project. Bring a laptop to class

Wednesday
February 15, 2017
    Starters
  • Schedule Overview February and March
    Main Activity
      Internal Assessment

    • Continue with software developent
    • Ask for help if you need help
    • Your workspace _html IA dirctory must be updated to provide evidence that work has been done today,

    Homework
      Due Friday - this is a 20 point homework assignment and must be completed in order for you to be successful in class on Friday.
    • Read the handout Review: System Fundamentals
    • Answer the question listed in the Internal Assessment System Fundamentals document (IA-SystemFundamentals.docx) that is posted on google classroom. The document is due at 12:00 Noon Friday February 17. Update google classroom to mark the assignment as complete prior to 12:01 PM Friday.
    • Be prepared to spend at Friday making substantial progress with your Internal Assessment project. Bring a laptop to class

Wednesday
February 8, 2017
    Starters
  • Review Recuruse.java : using half, double, isOdd
  • Collect workspaces that are due _java
    Main Activity
      Internal Assessment

    • Continue with software developent
    • Ask for help if you need help
    • Your workspace _html IA dirctory must be updated to provide evidence that work has been done today,

    Homework
      Due Thursday
    • Be prepared for quizzes covering all network topics - particularly topics that you have seen at least twice.
    • Be prepared to spend at least 3/4 of the class Thursday making progress with your Internal Assessment project. Bring a laptop to class

Monday
February 6, 2017
    Starters
  • Return OSI Model Quiz
  • Handout: Tracing a recursive program
    Main Activity
      Presentation: Recursion

    • Evaluating multiplication as repeated addtion
    • Evaluating exponential expressions using recursion

      Java Assignment
      Your _java cloud9 workspace will be backed up at the end of the class and must reflect a class period's worth of effort and progress.
    1. Write a recursive algorithm to evaluate a power, given the base and the exponent.
    2. create a recursion directory in your cloud9 _jave workspace
    3. create a file name Recurse.java
    4. write a method named rexp that accepts two integer paramaters rexp(b,e) and returns the value of b raised to the e power.
      Example: rexp(5,2) returns 25; rexp(2,5) returns 32;
    5. Write a recursive algorithm to multiply two numbers, using repeated addition.
    6. In the file Recurse.java write a method named rmult that accepts two integer paramaters rmult(a,b) and returns the product of a * b.
      Example: rmult(5,2) returns 10; rmult(50,20) returns 1000;
    7. Write a function named half that accepts an integer and returns half its value.
    8. Write a function named doubleIt that accepts an integer expression such as (a+b) and returns a value as if the expression were repeated twice, such as (a+b)(a+b).
    9. Write a function named isOdd that accepts an integer and returns true if the parameter is an odd number, and false if the parameter is not odd.
    10. The efficiency of the recursive algorithm that you wrote for rexp is probably linear - which means if you had an expression to evaluate 210 it would execute 10 times, and would vary linearly as the exponent increases.
      Write an algorithm that uses doubleIt, half, and isOdd that can evaluate a power with logarithmic efficiency.
    11. Write a method named rexpL(b, e) that can calculate be in logarithmic time.

    Homework
      Due Wednesday
    • Be prepared for quizzes covering all network topics - particularly topics that you have seen at least twice.
    • The completed Recurse.java assignment reflecting all 11 steps. Add your documented algorithms as comments to your Recurse.java file.
    • Be prepared to spend at least 1/2 of the class Wednesday making progress with your Internal Assessment project.

Friday
February 3, 2017
    Starters
  • Matching Quiz : OSI Layers
  • Return work
    Main Activity
      Presentations

    • Handout: Topic Assignments
    • Reearch Topic Presentations
    • Internal Assessment Projects
    • Create a vocabulary list, with terms and definitions at a minimum. For technology terms also include advantages/disadvantages
    • Preview Monday's Java and Recursion assignments

    Homework
      Due Monday
    • Be prepared for quizzes covering all network topics - particularly topics that you have seen at least twice.
    • Complete the Population.java assignment in Cloud9. The work you have done in class counts as class work grade. Completing the assignment counts as a project grade
    • Bring you IA documentation up to date
    • Bring Google Classroom up to data by checking and updating ALL the assignments you have completed.
    • Rooooot for the Pats

Thursday
February 2, 2017
    Starters
  • Warm-up Questions - will be posted
    Main Activity

      Networking
    • Storage Area Networks
    • Begin Data Transmission

    Homework
      Due Friday
    • Be prepared for quizzes covering all network topics - particularly topics that you have seen at least twice.
    • Be prepared to present you research topic from Wednesday if you had one, or you IA overview if you have not already done so. The IA overview should be brief, show resources you already have - such as your documentation for Part A, Part B, or your ongoing development effort.
    • Read PC Magazine's Best Cloud Storage Providers to see what cloud storage can do for you.

Wednesday
February 1, 2017
    Starters
  • Collect Wearable Case Study Answers
  • Introduction to Networks (IB Computer Science Topic 3)
    The Networks topic will be covered using a combination of presentations, hands-on activities, readings, and videos. A Network text is being created covering all IB Computer Science Topic 3: Network objectives. While this text is being developed students will have access to relevent parts of the document electronically and hard-copy.
  • Handouts:
    1. Network Objectives Table of Contents
    2. Quizzes and Test question bank
      Includes the topics that will be covered by quizzes and the questions bank that will be used to create tests.
    Main Activity
      Part I: Networks
    • Presentation: Nearpod: Network Fundamentals Nearpod Code IQTZX
        Objectives:
        3.1.1 Identify different types of networks.
        3.1.2 Outline the importance of standards in the construction of networks.
        3.1.3 Describe how communication over networks is broken down into different layers.
        Identify the 7 layers of the OSI Model
        3.1.4 Identify the technologies required to provide a VPN.
        3.1.5 Evaluate the use of a VPN.

      Part II: IA or Research Assignments
    • Research and Presentation assignments will be provided to students that are not in a position to work on their Internal Assessment. Students will upload their work before the end of class to Google Classroom
    • Students prepared to work on their Internal Assessments will continue their work, and update their _html workspace before the end of class.


Monday
January 30, 2017
    Starters
  • Read the handout
  • Two-Dimensional Arrays: Are used when data is best represented as rows and columns, and are indexed as [row][col] similar to how spreadsheets work. The migration table in this exercise provides an example of using a two-dimensional array. Pay particular attention to how the arrays in this activity are declared, initialized, and accessed.
    Main Activity
    Objectives:
         - Construct and implement algorithms utilizing 2-dimensional arrays
         - Define and use constants as a programming construct
         - Analyse the use of variables, constants and operators in algorithms.
  • Complete: Population Study
  • Answers recorded on paper will be reviewed in class and collected
  • fname_java workspaces will be collected at the end of the period.

    Homework - due Wednesday
    • Answer the Wearable Case Study Questions 1-4. This assignment is due at the beginning of class on Wednesday. Be sure to read the case study handout carefully, there will be another essay question that will be handed out on Wednesday that will be due on Friday.
    • If you have not completed the Population.java program, then complete the program by Wednesday
    • Be prepared on Wednesday to spend approximately 1/2 the period working on your Internal Assessment Project.

      Only students that have evidence that they are prepared to work on their IA will be provided class time. Students not prepared will be assigned a research topic to be completed in class.

      Evidence is in the form of having proof of a client and evidence that you have made progress with Part A, Part B, and have updated the cover_page.html in the _html cloud9 workspace in the IA directory. The IA directory will be inspected Tuesday night.


Friday
January 27, 2017
    Starters
  • Schedule for Next Week
    Main Activity

  • Presentations: Research Topics
  • Presentations: Internal Assessments

    Homework - due Monday
    • Complete viewing of all of the videos listed in the agenda from yesterday
    • Read the Case Study about wearable technology passed out yesterday
    • Complete the case study handout

Thursday
January 26, 2017
    Starters
  • Create a concept map using the following terms: Electronic health record, Augmented reality, 5G Networks, Near field communication
  • Write a brief summary of what you see as the technology trends over the next 10 years

    Homework
    • Students working on their IA in class yesterday should prepare a 1-2 minute presentation of their IA to show the class on Friday. You may use the files located in the IA directory in your cloud 9 workspace. At a minimum you should identify your client, describe the project, and list the evaluation criteria. You may also identify the data structures or algorithms you will use.
    • Students working on Research presentations in class yesterday should polish their work and be prepared to present their work on Friday. All presentations must be turned in electronically by the start of class Friday to receive credit.
    • If we did not view all of the videos listed above, view the remaining videos on the list
    • Complete the handout

Wednesday
January 25, 2017
    Starters
  • Homework Review
    Main Activity

    Differentiated Instruction : Each student will be assigned a class activity based on their proven ability to put class time to appropriate use on their Internal Assessment project.

      Research and presentation assignments:
      Students that are assigned one of these tasks must complete and turn in electronically a rough draft or notes showing evidence of research completed in support of their assignment by the end of class today. This can be a shared google document, or a file uploaded to the google classrom, or an attachment in an email.
    1. Presentation Assignment:Computational Thinking problem and solution
    2. Presentation Assignment:XML
    3. Presentation Assignment:Computer Science Applications #1
    4. Presentation Assignment:Computer Science Applications #2
      IA Assignment
    1. Students working on their IA in class should continue with their development effort and make sure that Part A, Part B, and Part C are up to date.

    Homework
    • Students working on their IA in class today should prepare a 1-2 minute presentation of their IA to show the class on Friday. You may use the files located in the IA directory in your cloud 9 workspace. At a minimum you should identify your client, describe the project, and list the evaluation criteria. You may also identify the data structures or algorithms you will use.
    • Students working on Research presentations in class today should polish their work and be prepared to present their work on Friday. All presentations must be turned in electronically by the start of class Friday to receive credit.

Monday
January 23, 2017
    Starters
  • Homework Review

    Homework
    • Review the class readings from today, including the Quiz page
    • Complete the Notes section of the Introduction2XML.docx file - the same document you updated in class.

Friday
January 20, 2017
    Starters
  • Announcement: Additional "class time" for working on your IA is available right after school until 6:00 for each of the next three Fridays. This time, along with the class time that will be allocated, will provide you with time to finish Section A. Section B, and Section C and put you in good shape for completing the IA by the end of February.
  • Solutions: System Fundamentals Problem Set 1


Thursday
January 19, 2017
    Starters
  • Read through each of the three problems from System Fundamentals Problem Set 1 and rank the problems from 1 to 3 in the preference that you would like to answer them.
    Main Activity

  • Research the terms associated with the problem that you have selected
  • Answer each part of the question that you have selected, using complete sentences, on separate paper, and addressing the specific command terms.

    Homework
      IA Development
    • Review and complete database design/development activities for your Internal Assessment Database
    • Ensure that the tasks listed above that should be complete by Friday are complete
    • Complete the design of the user interface for your IA and make sure your documentation is up to date in you cloud9 html workspace in you IA directory.
    • Bring your Cloud9 html workspace upto date with ALL of your IA materials

Wednesday
January 18, 2017
    Starters
  • Re-take and make-up quizzes - creating binary search trees and traversing binary trees preorder and postorder
  • Collect IA Status Report
    Main Activity

      Internal Assessment
    • Class time today should be used to make progress on developing your user interface.
      Your homework was to update the IA Status report and put some thought into generating the front-end that will need to access your database or your client's data. You should be ready today (Wednesday January 18) to begin implementing the user interface - for which you need to have designed prior to class.
    • Update your html workspace with the IA user interface efforts put forth in class today. This can include documentation regarding the user interface specifications, html pages for the user interface, testing materials for the user interface, or similar documentation. The IA directory must reflect that you have made good use of class time today.
    • Catching up
      By the end of the day Friday January 13 you should have had the following updated in the IA documentation in your cloud9 html workspace:
      1. A database schema - including either detailed design specifications for the database that you created to support the Internal Assessment or the details of the database or data files that you are using for your project.
      2. A diagram showing either data-flow or an entity-relationship diagram
      3. Identify what format your data will be stored in
      4. identify what software will be used to access the data
      5. Identify the file names that will be used to store data
      6. Identify how you will separate a development environment from a test or production environment. If you will be using mysql then you should have two separate databases. If you are using client-supplied data then explain how you will make separate copies to not impact any live data that is supplied by you client.
      7. Identify the means by which you will create/generate test data
      8. Identify the means for testing the basic database functions.
      9. Update your IA Task list for all database design, development, and testing activities

    Homework
      IA Development
    • Review and complete database design/development activities for your Internal Assessment Database
    • Ensure that the tasks listed above that should be complete by Friday are complete
    • Complete the design of the user interface for your IA and make sure your documentation is up to date in you cloud9 html workspace in you IA directory.
    • Bring your Cloud9 html workspace upto date with ALL of your IA materials

Friday
January 13, 2017
    Starters
  • The best book ever
    Main Activity

        Part I : Assessment / Status
      • Return and review Searching the Web test
      • Overview of current grades
      • Inventory of Internal Assessment
        Where you think you are
        Instructor view of where you are
        What you need to do - now
        Part II : Review Internal Assessment Status
      • By the end of the day Friday you should have the following updated in the IA documentation in your cloud9 html workspace:
        1. A database schema - including either detailed design specifications for the database that you created to support the Internal Assessment or the details of the database or data files that you are using for your project.
        2. A diagram showing either data-flow or an entity-relationship diagram
        3. Identify what format your data will be stored in
        4. identify what software will be used to access the data
        5. Identify the file names that will be used to store data
        6. Identify how you will separate a development environment from a test or production environment. If you will be using mysql then you should have two separate databases. If you are using client-supplied data then explain how you will make separate copies to not impact any live data that is supplied by you client.
        7. Identify the means by which you will create/generate test data
        8. Identify the means for testing the basic database functions.
      • Update your IA Task list for all database design, development, and testing activities
      • Put some thought into generating the front-end that will need to access your database or your client's data. Be ready on Wednesday January 18 to begin implementing the user interface - for which you need to have designed prior to class.

      Homework
        IA Development
      • Review and complete database design/development activities for your Internal Assessment Database
      • Ensure that the tasks listed above that should be complete by Friday are complete
      • Complete the design of the user interface for your IA and make sure your documentation is up to date in you cloud9 html workspace in you IA directory.
      • Bring your Cloud9 html workspace upto date with ALL of your IA materials

Thursday
January 12, 2017
    Main Activity

      Part II : Review Internal Assessment Status
    • By the end of the day Friday you should have the following updated in the IA documentation in your cloud9 html workspace:
      1. A database schema - including either detailed design specifications for the database that you created to support the Internal Assessment or the details of the database or data files that you are using for your project.
      2. A diagram showing either data-flow or an entity-relationship diagram
      3. Identify what format your data will be stored in
      4. identify what software will be used to access the data
      5. Identify the file names that will be used to store data
      6. Identify how you will separate a development environment from a test or production environment. If you will be using mysql then you should have two separate databases. If you are using client-supplied data then explain how you will make separate copies to not impact any live data that is supplied by you client.
      7. Identify the means by which you will create/generate test data
      8. Identify the means for testing the basic database functions.
    • Update your IA Task list for all database design, development, and testing activities
    • Put some thought into generating the front-end that will need to access your database or your client's data. Be ready on Wednesday January 18 to begin implementing the user interface - for which you need to have designed prior to class.

    Homework
      IA Development
    • Review and complete database design/development activities for your Internal Assessment Database
    • Ensure that the tasks listed above that should be complete by Friday are complete
    • Complete the design of the user interface for your IA and make sure your documentation is up to date in you cloud9 html workspace in you IA directory.

Wednesday
January 11, 2017
    Starters
  • Overview of todays agenda: MySQL Lab 02 includes the updated MySQL overview and continues the development of the sandbox database.
    Main Activity

      Part I : MySQL Lab #2
    • Open Lab 02: Jump to MySQL Lab 02 approximately Page 11
    • Record the output of the last four pages using the file Hand-In-MySQL-Lab02.docx that is available on Google classroom. This file should be turned in on google classroom by approximately 10:00 AM today, during class.

      Part II :Continue work on the database aspects of your Internal Assessment
    • By the end of the day Friday you should have the following updated in the IA documentation in your cloud9 html workspace:
      1. A database schema - including either detailed design specifications for the database that you created to support the Internal Assessment or the details of the database or data files that you are using for your project.
      2. A diagram showing either data-flow or an entity-relationship diagram
      3. Identify what format your data will be stored in
      4. identify what software will be used to access the data
      5. Identify the file names that will be used to store data
      6. Identify how you will separate a development environment from a test or production environment. If you will be using mysql then you should have two separate databases. If you are using client-supplied data then explain how you will make separate copies to not impact any live data that is supplied by you client.
      7. Identify the means by which you will create/generate test data
      8. Identify the means for testing the basic database functions.
    • Update your IA Task list for all database design, development, and testing activities
    • Put some thought into generating the front-end that will need to access your database or your client's data. Be ready on Wednesday January 18 to begin implementing the user interface - for which you need to have designed prior to class.

    Homework
      IA Development
    • Review and complete database design/development activities for your Internal Assessment Database
    • Ensure that the tasks listed above that should be complete by Friday are complete
    • Complete the design of the user interface for your IA and make sure your documentation is up to date in you cloud9 html workspace in you IA directory.

Monday
January 9, 2017
    Starters
  • Handout: MySQL Lab 01 and breief overview of the sandbox database
    Main Activity

  • Lab 01: Begins on Page 6
  • Record the output of the last two pages using the file Hand-In-MySQL-Lab01.docx that is available on Google classroom. This file should be turned in on google classroom by approximately 12:30pm today, during class. breief overview of the sandbox database
  • Create two MySQL databases for your Internal Assessment, one name development and one named testing.
    While you are developing your internal assessment project, perform development work in the development database. When you have a stable version of your project that you wish to be formally tested, copy all components of the development database to the testing database. You won't need to copy anything to the testing database today, but it should be created today.
  • Complete the database schema that you prepared for class today by creating all of its tables in the development database. As time permits, create a external .sql file containing insert statements to populate the database.
  • A copy of the last database schema used to create tables in the development database must be placed in your IA subdirectory. You may store development copyies in a subdirectory under the sandbox directory.

    Homework
      Practice inserting data using the sandbox database.
    • Create an external .sql source file containing at least two additional insert statements that will create two new customer records.
    • When your insert statements have been developed and testing, copy the working source file into the homework file found on google classroom named HW-Insert-Customer.docx.
    • This assignment is due Wednesday 1/11/17 by 8:00 AM. Sooner would be better.

Friday
January 6, 2017
    Starters
  • Describe post-test activities and the homework
    Main Activity

      Test: Web Science Section C: Searching the Web

    Homework
    • Read through the handout UsingMySQL.pdf
    • Read through the database schema for the Online Grade Book project from last year
    • Create a cloud9 database in your htmll workspace named sandbox
    • Create a database schema - with at least a collection of CREATE TABLE sql statements that will support your Internal Assessment Project. If you do not need a sql database for your IA project - then write up in great detail how you will store data for your project - be specific:
      • Identify what format your data will be stored in
      • identify what software will be used to access the data
      • Identify the file names that will be used to store data
      • Identify the format of each file that is part of your project.
      • Write this up and email it before Monday's class to jbrennan@isbos.org
      • Store this write up in the IA directory in your html workspace.

Thursday
January 5, 2017
    Main Activity

    Summary:
  • Databases and the IA
  • Notes from the classwork/homework - Question 5
    Explain why the effectiveness of a search engine is determined by the assumptions made when developing it.

    This is a topic worth thinking about. Think about the vocabulary for the topic "searching the web" and how that vocabulary applies to answering this question. Here are some things to consider:

    • What is a search engine?
    • How does a search engine work?
    • If you were creating a search engine, what are the assumptions that you would make?
    • Who are the targeted users of search engines?
    • Who are the content providers for search engines?
    • Do all content providers follow the "rules?" What are the rules?
    • As a search engine designer, what "rules" would you want to your content providers to follow?
    • What would you do with content that doesn't follow the rules?
    • You need not write an essay (because the command term is Explain, but connect some of these ideas while addressing the question directly. Read the question again carefully and pick some key concepts to include in your answer.
    Homework
    • Prepare for the test tomorrow Friday January 6

Wednesday
January 4, 2017
    Starters
  • Return work
  • Announce that there is a test on Friday
  • Point students to where they can find test review material
    Summary:
  • Photos of the class work will be taken. Substantial progress is expected to be displayed.
  • Web Science Test Friday January 6, what to study, how to prepare
    Homework
    • Complete the class work - Due Thursday

Review and Practice


Review and Practice
    Binary Trees
  • Review the classwork Stations
    Practice any questions that you did not get 100% correct. Check all of your answers with another student from class, especially any questions that were not graded.
  • Each of these skills are to be assessed by a Quiz and are essential to understating binary trees. If you have taken, but not passed, a quiz on any of these skill then practice them and schedule a time to be re-assessed.
      Skills Assessed
    • Creating a binary search tree
    • Searching through a binary search tree
    • Performing an inorder traversal of a binary tree
    • Performing a preorder traversal of a binary tree
    • Performing a postorder traversal of a binary tree


Friday
December 16, 2016
    Starters
  • Quiz: Building Binary Search Trees, and Traversing Binary Trees
  • Return yesterday's quiz
    Summary:
  • Web Science Test Friday January 6, what to study, how to prepare
    Homework
    • Hava a safe and enjoyable holiday season!
    • Be smart, stay safe.


Thursday
December 15, 2016
    Starters
  • Quiz: Building Binary Search Trees, and Traversing Binary Trees
    Summary:
  • What we will be doing in class on Friday
  • Where these objective fit in - and where information can be found on the web site
    Homework
      Create an HTML page in your Cloud 9 html workspace named document_types.html.
      At a minimum, create a link to a web site or web page that provides an example of each of the following types of web page.
    • search engine pages
    • personal pages
    • blogs
    • forums
    • shopping pages
    • company pages
    • social media platforms
    • newspages
    • media sources
    • trading pages
    • customer service platforms
    • information pages of authorities
    • Others that you have found

      Estimated time: 13-20 minutes, if you used your class time wisely.
    • Update this assignment on Google Classroom when you have completed the assignment.


Wednesday
December 14, 2016
    Starters
  • Return work
  • Review Recursion and Backracking - using the NQueens Example
    Sol    Notebook
  • Collect Homework - handout
    Main Activity

      Objectives: At the end of this activity students will be able to:
    • Outline the different components of a web page.
    • Describe the different types of web page.
    • Explain the differences between a static web page and a dynamic web page.
    • Evaluate the structure of different types of web pages.

    Summary:
  • What we will be doing in class on Thursday and Friday
  • Where these objective fit in
    Homework
      Create an HTML page in your Cloud 9 html workspace named document_types.html.
      At a minimum, create a link to a web site or web page that provides an example of each of the following types of web page.
    • search engine pages
    • personal pages
    • blogs
    • forums
    • shopping pages
    • company pages
    • social media platforms
    • newspages
    • media sources
    • trading pages
    • customer service platforms
    • information pages of authorities
    • Others that you have found

      Estimated time: 13-20 minutes, if you used your class time wisely.
    • Update this assignment on Google Classroom when you have completed the assignment.


Monday
December 12, 2016
    Starters
  • Collect/Return work
  • Review Recursion, introduction The Queens Problem
  • Quiz: Binary Search Trees
    Main Activity

      The 8 Queens Problem

    Write an Algorithm that solves the queens problem

      Create one class named Board.java that provides at least the following methods
    1. Implements a Board as an 8 x 8 two-dimensional array.
    2. create a new Board, 8 x 8, that initializes the Board so there are no queens present.
    3. a method to add a queen to the 8 x 8 Board
      Example: public boolean add_queen(int row, int col)
    4. a method to check to see if a queen added at a particular board position would be threatened by another queen
      Example: public boolean is_safe(int row, int col)
    5. a method to remove a queen from the 8 x 8 Board
      Example: public void remove_queen(int row, int col)
    6. a method to count the number of queens on the Board
    7. a method to display the Board
      Example: public void print_Board()

      Create one class name NQueens.java that will perform the following:
    1. create a game Board
    2. implement an algorithm to add and remove queens as needed to find all possible solutions to the 8x8 Queens problem, and to display each solution.
    3. You may use a recursive backtracking algorithms

      Update Google classroom when your program is complete so it can be checked.
    Summary:
  • Recursion
  • Two-Dimensional Arrays
    Homework
  • Complete the Queens Problem for Homework.
    Due Wednesday 8:00 AM
    Update Google classroom when your program is complete so it can be checked.


Friday
December 9, 2016
    Starters
  • Review Binary Search Trees
  • Return Homework

    Main Activity

      Continue Stations Activity: Binary Search Trees

    Summary:
  • What you need to know - and what you need to be able to do
    • Know all binary tree terminology
    • Know how to traverse a binary tree inorder, preorder, and postorder
    • Be familar with inserting nodes into a binary search tree. Practice by creating a list of terms, sketching the process of creating a binary search tree, and creating one online using the tools from today's warm-up activity.
    Homework
  • Due Monday: Complete the handout Binary Search Trees
  • Due Monday: Read Two-Dimesional Arrays in the AP Computer Science book, pages 249-254.Answer question 1,2, 28, and 29.


Thursday
December 8, 2016
    Starters
  • Quiz : Binary Tree Terms

    Main Activity

      Activity Stations: Binary Search Trees

    Summary:
  • What you need to know - and what you need to be able to do
    • Know all binary tree terminology
    • Know how to traverse a binary tree inorder, preorder, and postorder
    • Be familar with inserting nodes into a binary search tree. Practice by creating a list of terms, sketching the process of creating a binary search tree, and creating one online using the tools from today's warm-up activity.
    Homework
  • Due Friday: Chapter 7 of the AP Computer Science Book
    Do problems 1-6, and then choose one of problem 7 or 8.
    Answer the questions - and enter the program modules into a file name chapter7.java on Cloud9 to verify your answers.


Wednesday
December 7, 2016

    Main Activity

    Internal Assessment

      Part A of your Internal Assessment should be complete and posted in your _html workspace on Cloud 9.
        Progress that you should be making on Part B, which you should have complete by the end of the day on Wednesday December 14. Use your class time wisely. What you should have complete from Part B, or what you should be wisely spending your class time on today:
      1. A Record of Tasks (ROT) file - this should be in your Cloud 9 environement by the end of class today, even if it is not finished
      2. A Design document which includes:
        • Test plan (for success criteria - which should be listed in your Part A document.)
          Be sure to have a plan for each of your criteria for success
        • Brief summary of methods, etc (if applicable) NO CODE
        • A design of the solution;
          • Detailed Flowcharts
          • Data flow diagrams
          • Graphical visualisations of output
    Summary:
  • What you need to know - and what you need to be able to do
    • Know all binary tree terminology
    • Know how to traverse a binary tree inorder, preorder, and postorder
    • Be familar with inserting nodes into a binary search tree. Practice by creating a list of terms, sketching the process of creating a binary search tree, and creating one online using the tools from today's warm-up activity.
    Homework
  • Due Thursday: use the WordTag app enough to pass a Binary Tree Vocabulary Quiz
  • Due Friday: Chapter 7 of the AP Computer Science Book
    Do problems 1-6, and then choose one of problem 7 or 8.
    Answer the questions - and enter the program modules into a file name chapter7.java on Cloud9 to verify your answers.


Monday
December 5, 2016
    Starters
  • Handout: Binary Tree - Concept Review
  • Test Drive Word Study Binary Trees
    This is flash-card app that can
    • Display a vocabulary word so you can think of the definition (and check your answer)
    • Display a definition so you can think of the term (and check your answer)
    • Display both a term and defintion so you can review vocabulary
  • Test Drive Word Quiz Binary Trees
    This all will loop through the select vocabulary lists twice:
    • The first time through will show you a vocabulary term, and have you select the correct definition
    • The second time through the list you will be shown the definition and you will select the correct vocabulary term.
    At the end of the quiz you will be shown the results for both passes through the list.

    Main Activity

    Text Indexing Lab

      In this exercise you will take your program that counts the individual words in a file to create a binary tree, and print the binary tree inoder, preorder, and postorder. You will be able to use a WordTree.class that has already been developed: your job will be to integrate this program with yours.
      1. First, in your Cloud9 java sorkspace, create a top-level directory named trees.
      2. From a terminal window, use the web crawler wget to download a tar file with the necessary program files.
        1. cd trees
        2. wget hwmath.net/IBCS/files/binary_tree.tar
        3. tar -xvf binary_tree.tar
          This command extracts all of the files like unzip
        4. ls -l
      3. Complile and test the Words.java program
      4. Change the Words.java program and replace all occurences of the word list with the word tree including the comments and variable names.
    • Copy your countWords.java program, and any files used or needed by countWords.java, into the trees directory.
    • Add a declaration to the program to use the WordTree class
      WordTree my_tree = new WordTree();
    • To insert a word into the tree use the insert method
      public void insert(WordNode List, String s, String s2) {
      You can find an example of this in the Words.java test program. You can use a blank string for either the second or third parameter. In the Words.java program the second parameter was the city, and the third parameter was the state. When the tree node is created these two strings will be concatenated and stored as a single string.
    • The method WordTree.top() returns the first node in the list.
    • Examples of using the methods for printing the tree can be seen in Words.java
      • printWords_inorder(my_List.top());
      • printWords_preorder(my_List.top());
      • printWords_postorder(my_List.top());
      • printWords_reverse(my_List.top());
    • Intgrate calling insert() and printing out the lists into your countWords.java program. Compile, test, debug, repeat as needed until you have a functional program. Test you program by passing it a small file, and then a large text file with hundereds of words.
    Summary:
  • What you need to know - and what you need to be able to do
    • Know all binary tree terminology
    • Know how to traverse a binary tree inorder, preorder, and postorder
    Homework
  • Due Wednesday: Come to class prepared to work on your Internal Assessment Project: You will be working on completing Part B and designing your solution.
  • Due Wednesday: Complete the classwork from today: creating a binary tree from the words that you have read from a text file, and printing then out inorder, preorder, and postorder.
  • Due Thursday: use the WordTag app enough to pass a Binary Tree Vocabulary Quiz
  • Due Friday: Chapte 7 of the AP Computer Science Book
    Do problems 1-6, and then choose one of problem 7 or 8.
    Answer the questions - and enter the program modules into a file name chapter7.java on Cloud9 to verify your answers.


Friday
December 2, 2016
    Starters
  • Quiz/Test/Trimester I - Notes and questions, and return student work.
    Main Activity

      Introduction to Recursion

  • Sample Tree City, State tree from handout yesterday.
  • Powerpoint Presentation BinaryTrees.ppsx (Powerpoint Show).
    • Vocabulary - binary trees and non-binary trees
    • Traversing binary trees
      • inorder
      • preorder
      • postorder
    Summary:
  • What you need to know - and what you need to be able to do
    Homework
  • Reading assignment - Recursion
    Read Chapter 7 of the AP Computer Science book - pages 290-295 and the Sorting Algorithm pages 295-298. Update this assignment in Google Classroom after you complete the reading so we both know you completed the reading.


Thursday
December 1, 2016
    Starters
  • Quiz/Test - Notes
    Main Activity

      Introduction to Recursion

    Summary:
  • Make-up Quizzes - today before 1:30 I will be in the library.
  • Reading homework will be posted on google classroom and will be due on Monday
    Homework
  • Complete countWords.java by Friday - it will be the basis of your next text-processing assignment.
  • Reading assignment - Recursion
    Read Chapter 7 of the AP Computer Science book - pages 290-295 and the Sorting Algorithm pages 295-298. Update this assignment in Google Classroom after you complete the reading so we both know you completed the reading.


Wednesday
November 30, 2016
    Starters
  • Quiz/Test - 15 points
  • Silence is demanded until all students have completed the Quiz/Test. Any talking will result with a score of zero and dismissal from the class until the quiz/test is complete.
    Main Activity

      Using Text Files with Java

      Review the file TextProcessing.docx (MS Word file).
    • If you do not have a writeHello.java program in your java work space, copy/cut/paste the writeHello.java program from the one in the file - read all of the information in the file so that you can compile and execute the program.
    • Create a file named writeHello2.java, and either copy your writeHello.java program into it, or use the one from the TextProcessing.docx file. Change the file name so that an exception is generated and the catch block is executed. Change the text message that is displayed when an exception occurs.
    • Complete the programming assignment from Monday : In your Cloud9 java environment create the following programs:
      1. writeHello.java - that will open a text file for output, and write a single line of text to the output, and closes the file.
      2. readHello.java - that will open a text file for reading, read each line in the file, and display the text of the line on the screen. Test this program using the output created by writeHello.java
      3. countLines.java - that will accept a command line argument that specifies a input file name to process, opens the specified file for reading, and reads the input file and counts the number of lines in the file. The number of lines in the text file is displayed to the user along with the input file name.

    • Create a progam named countWords.java modeled after countLines that will parse each line in a text file, and count the number of words and the number of lines that are in the text file. Parse each word by a space or punctuation character or end of line. Allow a word to contain all numbers, all alphabetical characters, or numbers and letters. The program should accept an input file name as a parameter and display both the number of lines and the number of words in the file. Compare your result with the result of the Linix wc command.
    Summary:
  • Make-up Quizzes - today before 2:00. I will be in the library.
  • Possible Quiz/Test on Thursday
    Homework
  • Complete countWords.java by Friday - it will be the basis of your next text-processing assignment.


Tuesday
November 29, 2016
    Makeup/Retake Quizzes
  • Are available in the Library during lunch today, other times may be arranged.
  • Your e-mail invitation to retake the specified quiz is a strong recommendation to retake the quiz prior to the close of grades on Thursday.
    File Lists

      java workspace files (20)
        The following files should be in your shared java workspace. Additional input and output files may also be expected. See the specific assignments for the requirements. Java programs are expected to 1) exist; 2) compile; 3) execute correctly.

    • writeHello.java
    • readHello.java
    • countLines.java
    • StateNode.java
    • StateStack.java
    • States.java
    • P2324.java
    • Time.java
    • SumArgs.java
    • DataStats01.java
    • Args1.java
    • Args2.java
    • Stats01.java
    • Hello.java
    • Echo01.java
    • Echo02.java
    • Trace02.java
    • Trace03.java
    • Book.java
    • Library.java

      html workspace files and directories (9)
      These files are expected to 1) exist and 2) meet the assignment requirements.
    • CSS00.html
    • CSS01.html
    • CSS02.html
    • an included CSS
    • css.diff
    • Expected Internal Assessment Files/Directories
      • Directory IA
      • Directory IA/Forms
      • Files for Part A - files should exist for Part A of the internal assessment, and Part A should be complete
      • Files for Part B - should exist and look like progress has been made. A task list file should be included and reflect progress. Part B is not expected to be complete.


Monday
November 28, 2016
    Starters
  • Return Quiz/Test on web vocabulary from last week
    Main Activity

      Using Text Files with Java

      Bookmark reference that will help you create programs that can process text files:
    • Oracle Java pages
    • Conduct your own internet search for how to
      • Declare text files for reading and writing
      • How to open a text file for reading
      • How to open a text file for writing
      • How to read a line from a text file into a variable
      • How to write a line of output to a text file
      • How to close a file
      • How to detect the end of the file when reading a text file
      • How to process exceptions when file open/close/input/output errors occur.
    • In your Cloud9 java environment create the following programs:
      1. writeHello.java - that will open a text file for output, and write a single line of text to the output, and closes the file.
      2. readHello.java - that will open a text file for reading, read each line in the file, and display the text of the line on the screen. Test this program using the output created by writeHello.java
      3. countLines.java - that will accept a command line argument that specifies a input file name to process, opens the specified file for reading, and reads the input file and counts the number of lines in the file. The number of lines in the text file is displayed to the user along with the input file name.
    Summary:
  • Make-up Quizzes on Tuesday - out of class
  • Quiz/Test on Wednesday and Thursday
    Homework
  • Complete each of the three files: writeHello.java, readHello.java, and countLines.java. The programs are due Wednesday at the start of class and must all compile and execute properly.


Monday
November 21, 2016
    Starters
  • Quiz/Test on web vocabulary from last week
    Main Activity

    • Review Trimester I Grades / process / timeline
    • The multi-tier system architecture and how it applies to your IA
    • IA - Part B:
        Tasks for today: Focus on Part B
      • Must: Create document(s) that will be uploaded at the end of the class today.
      • Should have: already reviewed the requirements and markschemes for Part B; See handouts as well as the links on the IA section of the web site.
      • Should: add entries to your electronic task list
      • Might: outline or sketch your system architecture, or create a data flow diagram, or flow chart
      • Might: describe computing algorithms that you might need (sorts, computations)
      • Might: review examples from other projects, paying attention to Part B in particular
      • WILL NOT: write code or anything implementation-ish
    Summary:
  • Where you are with the IA
    Homework
    • Be smart - and be safe
    • Have a Happy Thanksgiving :)


Friday
November 18, 2016
    Starters
  • Demo Encoding
    Main Activity

    • Where to find addtional examples
    • Accessing sample work with examiner comments
    • Top-down development and Bottom-up development - what to do?
      Reference: Stacks
    • URN, URI, URL : What are the characteristics and the differences?
      See URL vs URI vs URN
      URI Schemes
    Summary:
  • Vocabulary exit polling
    Homework
      Preparing for Part B of the IA
    • Review you planning documentation and your client notes.
    • Be prepared on Monday to work on a flow-chart, algorithms, task lists and spending the time wisely to make progress on IA Part B.
    • Be prepared for a vacabulary quiz on words that we've covered this week.
      Read URL vs URI vs URN
      Read difference-between-url-uri-and-urn


Thursday
November 17, 2016
    Starters
  • Overview of IA Part B
  • Exemplar The Tuck Shop
    Main Activity

    • URN, URI, URL : What are the characteristics and the differences?
    • IA : Begin Part B - What should you do first?
    Summary:
  • Where the IA should be
    Homework
      Complete IA Tasks:
    • Part A
    • Appendix A
    • Identify components of part B


Wednesday
November 16, 2016
    Starters
  • Installing the Forms (update)
    Main Activity

      Internal Assessment
    • Review The IA Check List
      And other resources in the IA Section of the web site
    • We will make a list of tasks to accomplish today
    Summary:
  • Where the IA should be
    Homework
      Complete IA Tasks:
    • Part A
    • Appendix A
    • Identify components of part B


Monday
November 14, 2016
    Starters
  • Preview the Week
    Main Activity

    Presentation Creating the Web
    Note Page Creating the Web (Handout 01) This will be collected at the end class today.

      Prior Knowledge
      Students have experience using a browser to search and explore the World Wide Web. They have experience creating web page that include tables, forms. CSS, and J avascript. They are familiar with the following vocabulary:
    • hypertext transfer protocol (HTTP)
    • hypertext transfer protocol secure (HTTPS)
    • hypertext mark-up language (HTML)
    • JavaScript.
    • cascading style sheet (CSS).

      Obectivies
      At the end of this lessons students will be able to
    • Distinguish between the internet and World Wide Web (web). [C.1.1]
    • Explain the functions of a browser. [C.1.12]
    • Know, understand, and use the following vocabulary: [C.1.3]
      • uniform resource locator (URL) [C.1.3]
      • extensible mark-up language (XML) [C.1.3]
      • extensible stylesheet language transformations (XSLT) [C.1.3]
      • uniform resource identifier (URI) [C.1.4]
      • URL [C.1.4 and C.1.5]
    Internal Assessment
  • Activity: Downloading the Forms.zip file using FTP, uncompressing the file, and updating the cover page.
  • This will be checked at the end of class today.
    Summary:
  • Vocabulary Review
    Homework
      Complete the classword - downloading Forms.zip
    • See DownLoadForms.pdf
      This file has the updated for connection, and has been testin in multiple environments - it should work for you.

      Internal Assessment Due on Wednesday
    • Bring to class your notes, sketches, and evidence that you have met with a real world client.
    • Bring to class on Wednesday all of the information that you will need to complete Section A of the Internal Assessment - see the IA section and the handouts if you have any doubt about what should be included in Section A or how Section A will be assessed.


Thursday
November 10, 2016
    Starters
  • Collect Homework
  • Return Quizzes from Yesterday
    Main Activity

      Evaluating Student Work
    • Handout - Question and Students Answer
      SmartNotebook file

      Internal Assessment Calendar
    • Things that you should be doing

    Summary:
  • Vocabulary Review
  • What are the vocabulary Lists?
    Homework
    • Internal Assessment Calendar - things that you should be doing


Wednesday
November 9, 2016
    Starters
  • Collect Homework
  • Quiz [more than one]
    Main Activity

      HTML and Cascading Style Sheets
    • CSS Quiz and SL/HL Survey
    • Share the firstname_html Cloud9 Environment with jbrennan@isbos.org that you created on Monday, unless you have shared it already.
    • Continue to develop some sample html pages that use CSS and/or Styling
    • Example CommandTab.css
    • How to specify style
    • Exercise Using CSS
      • Open a web page to W3Schools/css
      • Use the "Try it" features and information about CSS from here to complete the rest of these steps:
      • Copy one of your HTML files that contain tables from last year and save it to a the Cloud9 lessons directory and name it CSS00.html.
      • Copy file CSS00.html as CSS01.html and add some inline styling to make it noticeably different than CS00.html by using only CSS commands.
      • Copy file CSS00.html as CSS02.html and add an external style sheet to make CSS02.html noticeably different than both CSS01.html and CSS02.html.
      • Use a web browser to verify all three files - but you should already know to do this.
      • From the Linux command line use the diff command to capture the differences of the CSS02.html and CSS00.html file to an output file named CSS.diff.
      Summary:
    • Vocabulary Review
    • Suggestions about using CSS in the Internal Assessment
      Homework
      • Test-03 Due on Thursday at the start of class Test-03


Monday
November 7, 2016
    Starters
  • Collect Homework
    Main Activity

      HTML and Cascading Style Sheets
    • A review of basic HTML tags Concepts from laat year
    • Intro to style sheets
    • Example CommandTab.css
    • How to specify style
    • Exercise Using CSS
      • Open a web page to W3Schools/css
      • Use the "Try it" features and information about CSS from here to complete the rest of these steps:
      • Copy one of your HTML files that contain tables from last year and save it to a the Cloud9 lessons directory and name it CSS00.html.
      • Copy file CSS00.html as CSS01.html and add some inline styling to make it noticeably different than CS00.html by using only CSS commands.
      • Copy file CSS00.html as CSS02.html and add an external style sheet to make CSS02.html noticeably different than both CSS01.html and CSS02.html.
      • Use a web browser to verify all three files - but you should already know to do this.
      • From the Linux command line use the diff command to capture the differences of the CSS02.html and CSS00.html file to an output file named CSS.diff.
      Summary:
    • Vocabulary Review
    • Suggestions about using CSS in the Internal Assessment
      Homework
      • Test-03 Due on Thursday at the start of class Test-03
      • Read: Adding CSS to html
      • Read the Linked List Summary from Friday's agenda


Friday
November 4, 2016
    Starters
  • Collect Homework
  • Review web site changes
  • Review IA Schedule
  • Review Homework Assignment
    Summary:
    Linked list Solutions
  • WordNode.java
    Notice that since the count is private we need an accessor method to update it. Also notice the count is set to 1 in the constructor - the idea being that if a WordNode is being created then the Word must exist at least once. This doesn't have to be true but for our purposes it will be true.
  • WordList.java
    Notice I implemented the insert method block-by-block to match the pseudocode from class yesterday. I used a lot of return statements so the program would be easier to follow rather than a sequence of if-then-else statements. This isn't great programming practice and a method with a lot of exit points is just harder to read. See if you can simplify this process. Do you see the redundant code blocks?
  • Words.java
    Just a sequence of inserting some words; Try to create a sequence that
    • inserts into an empty list
    • inserts into a non-empty list at the front
    • inserts into a non-empty list at the end
    • inserts a word between two exisiting words
    • tries to insert a word into a list for a word that already exists, to test counting the word occurances
    Homework
      Continue homework assigned yesterday and due Monday November 7 *Corrected
    • Read Chapter 5 Program Design and Analysis pages 206 - top of page 210 closely.
    • Read Object-Oriented Program Design pages 210-218. Pay close attention to the section on UML Diagrams and implementing classes.
    • Study the vocabulary on page 219. There will be a vocabulary quiz next Wednesday. Words that you will NOT be responsible for: inheritance relationship, composition relationship, inheritance hierarchy, encapsulation
    • Read Program Analysis pages and the Chapter Summary page 219-220.
    • Answer multiple choice questions 1-15 pages 220-226. Prepare to turn in the answers by writing on paper the question number, a summary of the question (don't copy all of the text of the question, just enough to have the answer something you can study from), the correct letter of the answer followed by the answer choice (sentence). Try to make the question and answer fit together so it cam be something you can study from.
    • You have four days/nights to complete this assignment, Estimated time is 20 minutes per night. You will be better served spreading this out rather than doing it all at onces. If you take notes while you are reading you may turn in your notes on Monday for extra credit.


Thursday
November 3, 2016
    Starters
  • Collect Homework
    Main Activity

  • Internal Assessment - Next Steps
    Summary:
    Linked list Solutions
  • WordNode.java
    Notice that since the count is private we need an accessor method to update it. Also notice the count is set to 1 in the constructor - the idea being that if a WordNode is being created then the Word must exist at least once. This doesn't have to be true but for our purposes it will be true.
  • WordList.java
    Notice I implemented the insert method block-by-block to match the pseudocode from class yesterday. I used a lot of return statements so the program would be easier to follow rather than a sequence of if-then-else statements. This isn't great programming practice and a method with a lot of exit points is just harder to read. See if you can simplify this process. Do you see the redundant code blocks?
  • Words.java
    Just a sequence of inserting some words; Try to create a sequence that
    • inserts into an empty list
    • inserts into a non-empty list at the front
    • inserts into a non-empty list at the end
    • inserts a word between two exisiting words
    • tries to insert a word into a list for a word that already exists, to test counting the word occurances
    Homework
      This homework assignment is due Monday November 7 and uses the AP Computer Science book*Corrected
    • Read Chapter 5 Program Design and Analysis pages 206 - top of page 210 closely.
    • Read Object-Oriented Program Design pages 210-218. Pay close attention to the section on UML Diagrams and implementing classes.
    • Study the vocabulary on page 219. There will be a vocabulary quiz next Wednesday. Words that you will NOT be responsible for: inheritance relationship, composition relationship, inheritance hierarchy, encapsulation
    • Read Program Analysis pages and the Chapter Summary page 219-220.
    • Answer multiple choice questions 1-15 pages 220-226. Prepare to turn in the answers by writing on paper the question number, a summary of the question (don't copy all of the text of the question, just enough to have the answer something you can study from), the correct letter of the answer followed by the answer choice (sentence). Try to make the question and answer fit together so it cam be something you can study from.
    • You have four days/nights to complete this assignment, Estimated time is 20 minutes per night. You will be better served spreading this out rather than doing it all at onces. If you take notes while you are reading you may turn in your notes on Monday for extra credit.


Wednesday
November 2, 2016
    Starters
  • Return/review Test 02
    Main Activity

  • File: Linked Lists
  • Present Linked Lists Exampe 1 and Example 2
  • Complete handout Exercise 1 and Exercise 2
  • Complete handout Exercise 3 and Exercise 4
  • Complete class work from Monday
  • Introduction to Recursion
  • Be sure that all program requirements for Words.java are complete by Wednesday at 10:00 a.m.
    Summary:
  • Linked list and stacks Vocabulary
    Homework
      Complete the Nearpod presenation we started in class Monday 10/24
    • Due Thursday 9:00 am
    • Complete Nearpod presentation SDLS Planning code FRIDY
    • Complete the notes, ready to be turned in SDLC GL-1 Planning


Monday
October 31, 2016
    Starters
    Collect Homework assigned Friday
  • Finish reading the handout, be familiar with the vocabulary at the end of the chapter
  • Complete Exercise 15-6
  • Complete Exercise 15-8 OR Exercise 15-9
    Main Activity

    Linked Lists : All work must be performed in the Cloud 9 java workspace

    1. WordNode.java
      • Using the Linux cp command, copy StateNode.java as WordNode.java.
      • Change the comment to indicate the program will keep track of a linked list of words
      • rename the state variable to word
      • add: private int wcount and initialize in to 0 in all of the constructors
      • Change toString so that the word will be returned along with the count
        Example: paper (3)
      • Make any other required changes to get the WordNode.java to compile.
    2. WordList.java
      • From the Linux command line, where you have StateStack.java, issue the following command:
        sed 's/State/Word/g' StateStack.java > WordList.java
        .
        The sed command is a stream editor - this command will read the StateStack.java file and replace each occurrence of the string "State" with the string "Word" and put the output into a new file named WordList.java
      • Open WordList.java in the Cloud9 editor. Hit [Ctrl]-F and replace-all the string "Stack" with the word "List".
      • Rename the pop method to delete
      • Rename the push method to insert
      • Make any other changes needed to get WordList.java to compile.
    3. Words.java
      • Copy States.java as Words.java. Change the class to push to insert
      • Compile, test, and debug Words.java
    4. Create a Sorted list
      • Make changes to the insert method so that new nodes are placed in the list in alphabetical order (a-z decending>.
      • When a new node is inserted, the count should be set to one (1).
      • If a word to be inserted is already in the list, then the count should be incremented.
      • Test your Words.java program by inserting some words multiple times
      • Validate that your program is opeational.
      Summary:
    • Linked list and stacks Vocabulary
      Homework
    • Be sure that all program requirements for Words.java are complete by Wednesday at 8:00 a.m.
        Complete the Nearpod presenation we started in class Monday 10/24
      • Due Thursday 9:00 am
      • Complete Nearpod presentation SDLS Planning code FRIDY
      • Complete the notes, ready to be turned in SDLC GL-1 Planning


Friday
October 28, 2016
    Starters
  • Last second questions/answers
    Main Activity

    • Test-02
    • Reading - handout
    Summary:
  • Vocabulary Prompts
    Homework
  • Finish reading the handout, be familiar with the vocabulary at the end of the chapter
  • Complete Exercise 15-6
  • Complete Exercise 15-8 OR Exercise 15-9


Thursday
October 27, 2016
    Main Activity

      Continue:
    • SDLC: The Planning Phase
      • Handout: Notes
      • Planning (Nearpod presentation)
    • Audio file: Legacy Systems
    Summary:
  • Vocabulary Prompts
    Homework
  • Prepare for Test 02 which is tomorrow


Wednesday
October 26, 2016
    Main Activity

    After getting some really great feedback today in class and to focus on using a linked list to implement a stack, we'll limit the methods inside of the StateNode class to the following:

    //File: StateNode.java
    //Purpose: Support a linked list of state names 
    
    public class StateNode {
        public String       state;
        public StateNode    next;
        
        StateNode() {
            state = "";
            next  = null;
            }
        
        StateNode(String s) {
            state = s;
            next  = null;
            }
            
           
       public String toString() {
           return state;
       }
    } // end StateNode  
    

      Using a Linked List to Implement a Stack
      Next - well create a new class that will use StateNodes to create a stack. The StateStack class will keep a variable named stack and will be used like the list variable had been in class. Some of the StateStack methods are left for you to implement, they will be only a few lines long. The basic stack operations are:
      1. push - which adds a new node to the linked list. Because we are implementing a stack, new nodes should be placed in the front of the list.
      2. pop - this has two components: the top node needs to be returned, and the top node should be deleted from the stack. In terms of a linked-list, the first node in the list should be removed.
      3. peek - this method simply returns the node that is on top of the stack (which is the first node of the linked list)

      //File: StateStack 
      //Purpose: Implement a stack of StateNodes  
      //         using a linked list
      
      public class StateStack {
      
          private StateNode stack;
          
          StateStack() {
              stack = null;
          }
          
         // let someone test to see if the stack is empty     
         public boolean isEmpty() {
             return (stack == null);
         }
         
         
          //pop : return the top node of the stack, and remove the top node 
          //      from the stack. 
          public StateNode pop() { 
      	       // implementation is up to the student 	      
              }
      
          //push : Add a new node to the stack 
          public void push(String s) { 
           	// implementation is up to the student 
            
              }
      
          //peek : return the top node of the stack. 
          public StateNode peek() { 
      	// We'll return the top node, which will still be connected to the stack
      	    return stack;
              }
      
          public void printStates() {
              StateNode   tPtr = stack;
              while (tPtr != null) {
                  System.out.println(tPtr.toString());
                  tPtr = tPtr.next;
                  }
          } // end printStates
      
          
      } // end StateStack
      

      Creating a new version of States.java to test the StateStack class and the implementation of a stack of states:

      //File: States 
      //Purpose: Create a stack with 5 state nodes 
      //         This is a demonstration of using stack operations
      public class States {
      
          public static void main(String[] Args) {
              StateStack my_stack = new StateStack();
                      
              System.out.println("Adding first state: Maine"); 
              my_stack.push("Maine");
              my_stack.push("New Hampshire");
              my_stack.push("Vermont");
              my_stack.push("Rhode Island");
              my_stack.push("Massachusetts");
              my_stack.printStates();
              
              StateNode j = my_stack.pop();
              System.out.println("poped val = " + j.toString());
              my_stack.printStates();
             
              
          } // end main 
      
          
      } // end States
      

    • Notice that the main program uses push to add five states, then printStates() to print the contents of the stack of states.
    • Next the stack is "popped" where the top node is placed into variable j (not the most cleaver variable name) and then the stack is printed a second time.
    • The output of executing the program should be:

      Adding first state: Maine
      Massachusetts
      Rhode Island
      Vermont
      New Hampshire
      Maine
      poped val = Massachusetts
      Rhode Island
      Vermont
      New Hampshire
      Maine
      

    • To DO: Modify the StateStack.java and States.java programs:
      1. Move the printStates method to StateStack.java from StateNode.java
      2. Modify StateStack.java and implement the push, pop, and peek methods.
      3. Add a toString method to the StateNode.java class to return the value of state
      4. Compile both StateStack.java and States.java
      5. Modify the States.java program to call push and pop. You can copy the example from above, as well as create your own sequence of calls to test the functionality of your stack.
      6. Compile/test/debug the program(s)
    Summary:
  • Abstract data structions 5.1.6, 5.1.7, 5.1.11 - 5.1.13, 5.1.18
  • C.2.4 Describe how a web crawler function
    Homework
  • Complete the agenda items that we might not have time for due to a field trip,
  • Complete the Class Notes Page on what a web crawler is and using a robots.txt file. One reference is: inmotion hosting


Monday
October 24, 2016
    Starters
  • Rock-Paper-Scissors
  • Internal Assessment: Planning (Nearpod presentation)
  • Internal Assessment: collect homework
    Main Activity

      The System Development Life Cyle - and applying it to the Internal Assessment
    • Internal Assessment Discussion
    • SDLC: The Planning Phase
      • Handout: Notes
      • Planning (Nearpod presentation)
    • Audio file: Legacy Systems
    Summary:
  • Topics we're covering
  • Test 02


Friday
October 21, 2016
    Starters
  • Collect/review homework
    • Programming terms
    • Questions 23 and 24 on pages 84 and 85 of the AP Computer Scince Book by tracing the programs. Then implement both in a program named Prob2324.java in the asssignments directory on Cloud 9. Due Friday October 21 at 12:01 pm.
  • Algorithms, Flowcharts, and Pseudocode
    • Implementation notes
    Main Activity

  • Internal Assessment Dicsussion
  • The System Development Life Cyle - and applying it to the Internal Assessment
    Summary:
  • Topics we're covering
  • Test 02
    Homework
  • Find a client for the internal assessment (You should have one by 10/24)
  • Handout: Questions for Test 02 - which will be given in class on Friday October 28


Thursday
October 20, 2016
    Starters
  • Algorithms, Flowcharts, and Pseudocode
      Assignment will be posted
    Main Activity

  • Overview and Review: Topic 4: Computational thinking, problem-solving and programming
  • NIM
    Summary:
  • Building a program - problem solving apporaches from yesterday.
  • When to use flowcharts? When to use pseudocode?
    Homework
  • Find a client for the internal assessment (You should have one by 10/24)
  • Answer questions 23 and 24 on pages 84 and 85 of the AP Computer Scince Book by tracing the programs. Then implement both in a program named Prob2324.java in the asssignments directory on Cloud 9. Due Friday October 21 at 12:01 pm.


Wednesday
October 19, 2016
    Main Activity

  • Create a flowchart or pseudocode for each of the methods of the Time class from problems 1-2.
  • In your java workspace that you have shared with me, Implement each of the methods from the Time class from problems 1-2.
  • The toString method must return a string that will display similar to a digital clock. For example:
    12:04:39
  • Create a main program to test your Time class:
    1. declare at least two Time objects to test your constuctors
    2. Create a final variable named timeSpan set to 51 which represents a number of seconds. Create a loop that will call increment() timeSpan times.
    3. Create a second final variable named numSpans. Create an outer loop around your timeSpan loop, which will repeat numSpans times. Test your program using numSpans with a value of 5, then set numSpans equal to 75.
    4. Your program will be evaluated when numSpans is set to 75, Call toString so that the time is displayed (like a digital clock) every time that increment has been called 51 times.
  • Pseudocode for the main program
    			Time T1 = 9:10:00   /* figure out how to do this */
    			Loop  I from 1 to numSpans
    			    Loop J from 1 to timeSpan
    				 call T1.increment()
    			    end J loop 
    			    output T1.toString () 
    			end I Loop
    			    
    
  • Hint: don't start coding anything before you write it out in pseudocode or a flow chart first.
    Summary:
  • Command Summary


Monday
October 17, 2016
    Starters
  • Nearpod Presentation Command Terms (group 1)
    A review of a set of command terms, along with sample questions. A short 5-question practice quiz follows the review. Student pased, code: YTUHG
    Main Activity

  • Hand back and review Test 01 questions and answers
    Summary:
  • Command Summary
    Homework
  • Find a client for the internal assessment (You should have one by 10/24)
  • Read page 63 Final variables from AP Computer Science Book (by Wednesday)
  • Read Chapter 2 pages 92 - mid page 99 AP Computer Science Book (by Wednesday)
  • Answer questions 1-2 pages 111-112.


Thursday
October 6, 2016
    Summary:
  • schedule for the next few months integrating Option C Web Science, the Internal Assessment, the System Development Life Cycle, Java, Networks, and the Case Study topics.
  • Much overlap, I forsee -Yoda
    Homework [nothing new on this list]
  1. Be smart, and be safe.
  2. Be on the lookout for a good client and project for the Internal Assessment, during the fall break you may get chances that you wouldn't get without the break to find an opportunity.
  3. Visit the web site bwagner.com and read through the folling sections. Use the navigation panel on the left side of the screen.
      From IB HL 1:
    1. Read Unit 6 Classes Review, 6.4 Accessor Methods
    2. Read Unit 6 Classes Review, 6.5 Mutator Methods
    3. Read Unit 6 Classes Review, 6.6 toString Method
  4. Make sure your Cloud9 work space is shared with me, and provides me with read and write access. Your workspace should have two directories, one named asignments and one named lessons. Here is a list of files that you should have:
    • Echo1.java
    • Echo2.java
    • Trace02.java
    • Trace03.java
    • Stats01.java
    • Stats01.dat
    • Args1.java
    • Args2.java
    • SumArgs.java
    • DataStats01.java
    • Book.java
    • Library.java
    • Box.java (from Wed Oct 5)
    • BoxTester.java (from Wed Oct 5)


Wednesday
October 5, 2016
    Starters
  • View Nearpod presentation Class Decomposition
    Self-paced, code: BIHCX but the link should take you right to it.
    Purpose: Trace a program simulating the rolling of two dice. Notice what methods are provided by Class Die and how thee are used by the main program in RollDice.
    Main Activity

      Box


      Introduction:
        In this exercise you will complete the class Box that calculates the area and volume of a cardboard box.
      • Programmers often use preconditions and postconditions when describing the behavior of a method.
      • Precondition - is a requirement that a user of a method must meet inorder for the method to work properly. For example, in a banking class a deposit method might have a precondition that a deposit can't be a negative number. If the deposit method is called with a negative number the method would not give correct results.
      • Postcondition - is a statement that indicates what will be true when the method finishes its work. It is a description of what the method does. If the precondition is met the method promises that its postcondition would also be met.

      Directions:
    • In your cloud9 java workspaces add Box.java and BoxTester.java to the lessons directory.
    • Complete the following Modifications

        Instance Variables
      • Create an instance variable of type int named side.

        Constructors
      • Create a one parameter constructor that initializes side to the value specified in its parameter list.

        Methods
      • Complete the method calculateArea according to the specifications outlined in its pre and post conditions.
      • Complete the method calculateVolume according to the specifications outlined in its pre and post conditions.

      Extensions:
    • Modify Box.java to allow a width, height, and length to be specified in case the box is not a cube; but still support a box that is a cube and don't make the main program specify three identical parameters. This means that if you change Box.java then BoxTester.java should still work and still produce the same output.
    • Modify BoxTester.java and create Box instance box4, box5, and box6. Use the same width, height, and length parameters as a partner to make sure both of your programs are successful.
    Summary:
  • Classes, instances, objects, properties, methods
  • sort, toString, equals
    Homework
  1. Visit the web site bwagner.com and read through the folling sections. Use the navigation panel on the left side of the screen.
      From IB HL 1:
    1. Read Unit 6 Classes Review, 6.1 Class Decomposition
    2. Read Unit 6 Classes Review, 6.2 Anatomy of a Class
    3. Read Unit 6 Classes Review, 6.3 Constructors
  2. Be prepared for a quiz on Thursday covering the homework problems from the AP Computer Science book.
  3. Make sure your Cloud9 work space is shared with me, and provides me with read and write access. Your workspace should have two directories, one named asignments and one named lessons. Here is a list of files that you should have:
    • Echo1.java
    • Echo2.java
    • Trace02.java
    • Trace03.java
    • Stats01.java
    • Stats01.dat
    • Args1.java
    • Args2.java
    • SumArgs.java
    • DataStats01.java
    • Book.java
    • Library.java
    • Box.java (from Wed Oct 5)
    • BoxTester.java (from Wed Oct 5)


Monday
October 3, 2016
    Starters
  • Collect Select Sort Homework
  • Select Sort Quiz
    Main Activity

      Comparing Objects
    • Using String compare ==
    • Using String.equals()
    • Class Notes
    • Equals.java if you would like to play around with it.

    Summary:
  • Classes, instances, objects, properties, methods
  • sort, toString, equals
    Homework
  1. By the end of today you should have selected a time of day to take Test 01. The deadline is this Thursday,
  2. Be prepared for a quiz on Thursday covering the homework problems from the AP Computer Science book.
  3. Make sure your Cloud9 work space is shared with me, and provides me with read and write access. Your workspace should have two directories, one named asignments and one named lessons. Here is a list of files that you should have:
    • Echo1.java
    • Echo2.java
    • Trace02.java
    • Trace03.java
    • Stats01.java
    • Stats01.dat
    • Args1.java
    • Args2.java
    • SumArgs.java
    • DataStats01.java
    • Book.java
    • Library.java


Friday
September 30, 2016
    Starters
  • Discussion of Internal Assessment (Solution)
    Summary:
  • Classes, instances, objects, properties, methods
  • sort, toString, equals
    Homework: Due on Monday 10/3
  1. Run Select Sort Simulation #3 several times. Be sure you understand the pseudocode, the Java program, and the results of each pass through the data.
  2. Handout: using the Select Sort Algorithm, and tracing each pass through the data.
  3. There will be a short quiz on this on Monday, with two questions similar to the exercises you have seen.
  4. Write an algorithm, in pseduo code or a flowchart for performing a select sort that sorts the data from highest to lowest. Identify the lines form the current Select Sort algorithm for sorting from lowest to highest that would need modification to sort from highest to lowest.


Thursday
September 29, 2016
    Starters
  • Recap of yesterday's class
    Main Activity

      The Internal Assessment
    • We'll discuss what it is, how we'll use it to cover course material, how we'll get started, how much class time will be allocated for it, and more.
    • Additional Information from ibo.org
    Summary:
  • What is a standard algorithm?
  • What is a non-standard algorithm
    Homework: Due on Monday 10/3
  1. Run Select Sort Simulation #3 several times. Be sure you understand the pseudocode, the Java program, and the results of each pass through the data.
  2. Handout: using the Select Sort Algorithm, and tracing each pass through the data.
  3. There will be a short quiz on this on Monday, with two questions similar to the exercises you have seen.
  4. Write an algorithm, in pseduo code or a flowchart for performing a select sort that sorts the data from highest to lowest. Identify the lines form the current Select Sort algorithm for sorting from lowest to highest that would need modification to sort from highest to lowest.


Wednesday
September 28, 2016
    Main Activity
  • Follow the lab instructions on the board.
    file:Book.java
    file:Libary.java
    method: toString:
    public String toString() {
          return("Title: " + title +
                " Author: " + author +
                " Copies: " + numCopies);
    }
    Updates:
    public static void main(String[] args) {
               int n = 0;
               int x = 50;
               Book bk01 = new Book();
               Book bk02 = new Book();
               Book bk03 = bk02;
               Scanner stdin = new Scanner(System.in);

               System.out.println("Begin Libary");
               System.out.print("Enter a book title:");
               bk02.title = stdin.nextLine();
               System.out.println("bk01 = " + bk01.toString());
               System.out.println("bk02 = " + bk02.toString());
               System.out.println("bk03 = " + bk03.toString());

    } // main
    Summary:
  • Objects and Classes
  • Instances
  • Pointers
  • We created a Book class, which contained both public and private variables.
  • We created several different constructors to initialize different sets of variables.
  • We created a toString function to provide information about the insance of a Book object, which replaces the default toString function which returned a string in the format
    Book@hashtag,
    Homework: Call this HW Problem Set #2 Due on Friday 9/30
  1. Read Storage of Numbers pages 61-62 in the AP Computer Science book.
  2. Answer questions 19-22 pages 82-83. Compile and execute any program segments that you need to in order to understand the question and the answer. Answers are on page 91.
  3. Complete the handout: Java self-assessment Java Skills: Self Assessment


Test-01
    Overview
    • Students will be provided a copy of the assessment questions on Friday September 23. Students are expected to prepare for the assessment (test) and to schedule a time to take the test that meets their scheduling needs. The test will include material that has already been covered, but students can expect to get more experience with the covered topics between now and their decided test date.
    Content
      Students have had experience with each of the following topics:
    • Using pseudocode
    • Using flowcharts
    • Tracing programs, flowcharts. and pseudocode
    • Writing, compiling, and executing basic Java programs

      Students should review
    • All provided sample programs to trace, compile, execute
    • All assignments for writing pseudocode
    • All assignments for creating Java programs from pseudocode
    • The guidelines for how psedocode will be presented on Exams
    • The updated Objectives list for September
    • All Powerpoint and Nearpod presentations

    Scheduling the Test
    • Students should email the instructor with two possible times when they cam be available to take the test. They should be listed by preference and every effort will be made to schedule the test at the student's prefered time.
    Deadline
    • The last day to take Test 01 in person is Thursday October 6. Tests must be handed in by 6:00 P.M.
    • It is strongly recommended that students prepare for, and complete taking, the test well before Thursday October 6.

Friday
September 23, 2016
    Main Activity
  • Discussion: Test 01
  • Discussion: Internal Assessment
  • Web resource BWagner.org
    Summary:
  • A method is a group of statements in a programming language that is given a name. Sometimes methods can accept parameters and operate on those parameters. Some methods can return a value, which could be a primitive data type, class/object. In C we called the methods functions, some languages call them procedures. [Some languages will use the term function for a procedure that returns a value and a procedure is a block of code that is called that does not return a value]
  • A property is a characteristic defined for a particular object (or class).
  • An object is an instance of a particular class.
    Homework: Call this HW Problem Set #1
  1. Read pages 69-76 in the AP Computer Science book, Control Structures and the Chapter Summary
  2. Answer questions 1-5 pages 77-78. Compile and execute any program segments that you need to in order to understand the question and the answer. Answers begin on page 88.
  3. Answer questions 9-10 pages 79. Compile and execute any program segments that you need to in order to understand the question and the answer. Answers are on page 89.


Thursday
September 22, 2016
    Starters
  • Request: Please do not unplug any school device in the Computer Lab - including any mouse, keyboard or monitor. Please log off any computer that you log into, but leave it powered up.
  • Graphic Oraganizer - disecting the case study
    Summary:
  • When should you use pseudocode and when should you use a flowchart?
  • When MUST you use pseudocode and when MUST you use a flowchart?
  • When should you use either a flowchart or pseudocode?
    Homework:
  1. Test your Java solutions to practice problems 1 through 3. Using Cloud9 is not required, but available to you, Do you think it is possible to put the solition to all three questions in the same file?


Wednesday
September 21, 2016
    Starters
  • *Review Command Terms (+Handout)
    Note: The link has been fixed, and you may want to use the PDF version instead of the print version becuase the print version has some odd character issues.
  • Interpretations of Dutch Traditions
    Main Activity
  • Discuss the Group 4 Project
  • Collect and examine the pseudo code and java programs that you have been working on.
  • Examine the Scanner class and testing for end of input
  • The difference between reading from a file, and redirecting input from a file.
  • Working toward completion of:
    • The Stats01.java program, that may help you with the Group 4 project
    • The SumArgs.java program
    • DataStats01.java
    Summary:
  • What can we now do in Java?
    Homework:
  1. Read The Case Study for 2017 We will discuss this in class on Thursday. Be sure that you have read it.


Monday
September 19, 2016
    Main Activity
      Command Line Arguements to Java Programs
    • Read handout: Java Programming Using Command Line Arguments
    • In the cloud9 environment add both Args1.java and Args2.java to your lessons directory.
    • Compile and execute both programs and make sure they both work.
    • How can you get the command line arguements
      java Args01 I like pie
      to all be treated as a single multi-word arguement? Keep testing until you figure out how to do it.

      Processing Command Line Arguements
    • Copy either Args01.java or Args02.java as SumArgs.java
    • Read the examples of converting string numbers to numbers using Integer.parseInt(str) and Double.parseDouble(str) on www.Tutoroalspoint.com.
    • Change SumArgs.java to find the sum of all of the command line arguments that are passed in. Here is a sample run:
        java SumArgs 1 2 3 4 5
        The sum of all arguments is 15
      You may format the output the way you wish - but at least display the correct sum :)
    Summary:
  • The String, Integer, and Double classes provide many methods for accessing and converting data from one type to another. Using and understanding these methods will help us to understand objects in general and the differences between object-oriented langauges and non-object-oriented languages.
    Homework:
  1. Copy your SumArgs.java program as DataStats01.java
  2. For homework on Monday September 12 you were asked to create an algorithm using pseduo code for analyzing data. Modify the DataStats01.java program to calculate the statistics that were listed, getting the data from the command line arguments. Lets suppose that the command line arguements are real numbers. If you run into any problems - or have found interesting ways to address any problems, post them in the google classroom.


Friday
September 16, 2016
    Summary:
  • Review some of the password-combination questions and answers
    Homework:
  1. Make a check list of all of the classwork and homework assignmnets that are posted on HWMath.net/IBCS and check off all of the ones that you have completed, and all of the ones that you still need to complete.
  2. Complete all classwork assignments
  3. Continue work on all homework assignments


Thursday
September 15, 2016
    Starters
  • Linux command Matching game (handout) and review of the answers.
    Main Activity
  • Using Trace Tables with Java programs
    Handout: Tracing Java Programs using java program Test.java.
    Summary:
  • Trace tables can contain "truth" values to make tracing programs and algorithms easier.
  • You can declare variables in Java as you use them; but...don't get in the habit if delcaring them everywhere, it makes debugging much harder. Put them at the top of the block where they are used.
  • Arrays can be initialized at the time they are declared. What does it demonstrate that you know or are able to do?
    Homework:
  1. Complete all classwork assignments
  2. Continue work on all homework assignments


Wednesday
September 14, 2016
    Starters
  • Vocabulary Matching game (handout) and review of the answers.
    Main Activity
      Activity 1: Web Science
    • In this first introductory web science activity you will research the web-meaning of some vocabulary terms that will help you with the Web Science and Networking aspects of the IB Computer Science course and the Case Study.
    • Using the document posted on Google Classroom, but if you can not find it you can download the file: WebTerms-01.docx (MS Word)
    • Follow the directions in the document and on Google Classroom.

      Activity 2: Java Programming
    • Create a Cloud9 directory named assignments. This directory should be in your root directory and at the same level as the lessons directory - not under lessons.
    • Create a file named stats1.java, and save it under assignments.
    • Implement the algorithm that you completed for homework as a java program.
    • Compile, run/test your program. Use carefully selected data to verify the accuracy of your program. If you get errors or results that you are not expecting review your program, and determine whether you may need to "cast" from one data type to another.
    • Copy the file stats01.dat into file assignments/stats01,dat
    • Execute your program using the following command, which will use the data file as input instead of using keyboard input:
      java stats01 < stats01.dat
    • Email a copy of your output to jbrennan@isbos.org.
    Summary:
  • Today you reviewed some basic web science terms, and hopefully made some connects with some daily events with some more formal terminology. Can you name an "ambient intelligence" system at the school? Can you name more than one?
  • You should have gained some experience with loops, detecting the end of input, and maybe had to debug some calculations.
    Homework:
  1. Complete the classwork from Activity 1 for homework, by Friday.
  2. Complete the program assignment from Activity 2 by Monday.
    IF you have problems that you can not figure out in a reasonable amount of time, then ask some questions before the weekend. Post your questions on the Java section of GoogleClassroom
  3. Check the questions in the Java section of GoogleClassroom to see if there is some one you can help.


Monday
September 12, 2016
    Summary:
  • What does the Trace03.java program do?
  • How does it do it?
    Homework:
  1. Complete the programming component of the Trace03 handout.
  2. Assignment due Wednesday:
    • Create an algorithm, represented using pseudo-code that will read in a series of numbers, one per line and then display the following statistics:
      • The minimim and maximum values
      • The mean (average, second quartile)
      • The first quartile (q1) and the third quartile(q3)
      • The inter-quartile range (iqr = q3 - q1)
      • The median
      • The total number of items that were read
      • A list of all of the outliers, if any
        Define a data item to be an outliner if either:
        • the value is less than [q1 - (1.5)(iqr)]
        • the value is greater than [q3 + (1.5)(iqr)]
    • The format of the output is up to you


Friday
September 9, 2016

No class today - Team Building Grade 12


Thursday
September 8, 2016
    Starters
  • Collect homework
  • Execute Trace01.java from Cloud9
    Summary:
  • Summarize this of Java programming components we have covered so far
    Homework:
  1. Complete the handout tracing program Trace02.java
  2. Copy Trace02.java into your lessons directory on Cloud9
  3. Compile and execute the program.
  4. Did the program produce the output you expected? Why or Why not?
  5. Read the Scanner information page from the Computer Science department at University of Texas at Austin


Wednesday
September 7, 2016
    Starters
  • Introduction to Programming
    A NearPod presentation A code will be displayed for the live presentation.
    Main Activity
  • Lesson 1: Introduction to Java (Presentation)
    Nearpod Presention Student-paced.
  • Lesson 2: Hello World
  • Lesson 3:
      Part A: Instructions Echo1.java
    • Create a new file in the Cloud9 environment.
    • Save the file in the lessons directory and name it Echo1.java
    • Copy the program from the text file Echo1.java (should open as a text file)
    • Change the Name: line on the top of the file
    • Read through the program. This program uses a class named Console to connect the input device with the keyboard. Trace the program to determine what the program will do.
    • From the Linux command line, compile the program using:
      javac Echo1.java
    • From the Linux command line, execute the program using:
      java Echo1
    • Did it produce the output you expected?
    • Alter the program so that the output looks nicer.
      Part B: Instructions Echo2.java
    • Create a new file in the Cloud9 environment.
    • Save the file in the lessons directory and name it Echo2.java
    • Copy the program from the text file Echo2.java (should open as a text file)
    • Change the Name: line on the top of the file
    • Read through the program. This program uses a class named Scanner to connect the input device with the keyboard. Trace the program to determine what the program will do.
    • From the Linux command line, compile the program using:
      javac Echo2.java
    • From the Linux command line, execute the program using:
      java Echo2
    • Did it produce the output you expected?
    • We will learn more about classes, and about the Scanner class in future lessons.
    Summary:
  • What is the value of the Hello.java program?
    What does it demonstrate that you know or are able to do?
  • Handout; September Goals
    Homework:
  1. Due Thursday: Handout Tracing a program Problem 1.
    Program code for testing Trace01.java
  2. Complete Java lessons 2 and 3 (both part A and part B)


Friday
September 2, 2016
    Starters
  • Review what has been collected:
    • Students that have created a java C9 workspace and shared it
    • Students that have checked their email, and sent a reply
    Main Activity
  • Why a bilingual education is important
  • Experiencs from the summer
    Summary:
  • Where we're going from here
    Homework:
  1. Be safe, Be Smart


Thursday
September 1, 2016
    Starters
  • Greet Students!
    Main Activity
  • Introduce course topics and provide course overview, using Nearpod, which is expected to get heavy use this year along with other Google apps.
  • Our Google Classroom
  • The Nearpod Pin is: OXTIQ


    The Student-paced presentation can be accessed Intro IBCS2
    Summary:
  • Review the schedule for the next few weeks
    Homework:
  1. Log into Cloud 9
  2. Create a new workspace using the Harvard CS50 Template using the workspace name firstname_java where firstname is your first name.
  3. After the workspace has been created, share it with jbrennan@isbos.org.
    • From the top menu bar, select [Window]
    • Select Share
    • In the Invite People box, enter the email address jbrennan@isbos.org
    • Set the permissions to read and write
    • Look things over, fill out anything else needed, press [Done]
  4. If you were not able to connect to Nearpod during class today, view the Nearpod presentation for homework. Feel free to download the app from the Chrome store.
  5. We'll be talking about what everyone did over the summer on Friday, please feel welcome to bring in anything you'd like to show/discuss.