Tuesday, June 9, 2009

Let's Celebrate

After all the work is done we are celebrating our accomplishments of this school year watching an Alice video and having a cup of Java.



Have a great summer !!!

Monday, June 8, 2009

Oral Presenations

This is our last week of classes. Each team will be presenting their projects on Monday or Tuesday.

Monday, June 1, 2009

PowerPoint Presentations

Continue working on your PowerPoint presentation. Next week we will have our oral presentations. Get ready for those and finish your slides and a handout.

Due on Monday: 4 important terms explained (Step 3).
Due on Tuesday: Handouts of your presentation (Step 5).

Monday, May 25, 2009

Project - Internet Privacy and Computer Security

Continue working on your projects today and tomorrow:
  • Finish your notes and
  • find two new sources, and
  • prepare your outline.
Due on Monday: Notes and bibliographies of two new sources (Step1).
Due on Tuesday: Your outline (Step2).

Thursday, May 21, 2009

The Internet

Today we are starting our unit about the internet. After today's class you will be able to explain how the internet works and how email works. The videos, the vocabulary sheets and the quiz on Brainpop will help you to understand the ideas. All the links can be found to the right in "Stay tuned about the internet".
In the second part of our class today we will be starting team projects about different topics on internet privacy and computer security.

Tuesday, May 12, 2009

Last Time Java

Today is our last day on Java.
We will have our final test and all your practices with Eclipse as posted yesterday need to be completed.

Homework
Enjoy the long week-end and celebrate Queen Victoria. See you on Tuesday.

Monday, May 11, 2009

Review and Catch Up

Today is time to review what we have learned about Java programming so far and to catch up with your Java practices.
I would like everybody to complete the following Java classes:
  • HelloWorld
    (The Eclipse IDE, Slide 15)
  • Pet class and PetMaster class
    (Java Classes and DataTypes, Slide 21)
  • Car Class and CarOwner class
    (Java Classes - Inheritance and Method Overriding, Slide 15)
  • Improved Car class
    (Java Control Statements for Conditional Execution, Slide 15).
Those who are done all of these can start working on the method
  • caughtSpeeding of the TrafficLaws class and on the Police class (Java Bits and Pieces, Slides 11-13).
Homework
Prepare for the test using the review problems and the answer key.

Tuesday, May 5, 2009

The Switch Statement , Constructors and more

In Java the switch statement is alternative way to express nested if statements. We will learn how it works.
We will also have a closer look at constructors, methods to create instances of classes. We have already used the default constructors without knowing them. Today's lesson will help us to understand them better.
Watch the presentation for details.


Homework
Answer the review questions for today's lesson.
We will have a test on Java next Tuesday, May 12, 09.

Monday, May 4, 2009

Conditional Execution and Comments

In real life we often need to make decisions based on a yes/no question. Depending on the outcome we go either this way or another. In Java the control structure of the if-else statement and of the if-else-if statement help us to handle those situations in computer applications. Based on a condition the program continues either with one part or with another another.
For details watch the presentation:


In the lab we will work on and improve the Car class.

Homework
Answer the review questions about conditional execution and comments.

Tuesday, April 28, 2009

Inheritance and Method Overriding

After a recap about classes and data types in Java we will expand our knowledge about object-oriented programming today.
Two important ideas we will be learning about are inheritance and method overriding.
Inheritance means that a new class, called a subclass, inherits all the attributes and all the methods of an existing class, called the superclass, and extends it with its own attributes and methods.
Java also allows to adapt and re-write the methods from the superclass in the subclass. We call this "method overriding". By this each object of the superclass can be of a specific subclass. In object-oriented programming this is known as polymorphism. Watch today's presentation.

Homework
Answer the review questions about classes in Java.

Tuesday, April 21, 2009

Classes and Data Types in Java

After a closer look at the HelloWorld program (see presentation: How Java Programs work?) we are transferring our knowledge about classes from Alice to Java today.
By doing that you will also learn about variables and primitive data types in Java. You have seen data types for parameters of methods in Alice, but we have never talked about variables.
Variables can be used to store and manipulate values for the properties of a class. Those properties are called attributes in Java.

The presentation Java Classes and Data Types will help you to understand the details.

Monday, April 20, 2009

Java Programs in Eclipse

Today we are taking it one step further: Instead of working with Notepad and the primitive command line interpreter for writing, compiling and running Java programs, we are using Eclipse from now on.
Eclipse is an integrated development environment that makes it easier for you to write Java programs. It is a well known program used by professional software engineers. We are exploring Eclipse by writing and extending the HelloWorld program. Watch the Eclipse presentation for details.

Homework
Answer the review questions on Eclipse.

Tuesday, April 14, 2009

Introduction to Java

To prepare for the first term test we will be reviewing all the bits and pieces we have learned about so far in Term 3 using the review sheet.
After that we are going learn and practice how to write, compile and run our first Java program. It will make the computer say: "Hello World".
The "Introduction to Java" and the vocabulary puzzle will help you.


Homework
Prepare for the upcoming test on Monday, April 20, 2009: Know about
  • Recursion,
  • the basics about Java,
  • careers at EA, and
  • the history of programming languages.

Tuesday, April 7, 2009

Review Programming Languages

In our class today (only until noon) we are finishing our unit about the history of programming languages. Make sure you are able to solve the matching puzzle. Then you will be well prepared for the upcoming test on Monday, April 20.

Homework
Answer at least 10 of the 20 review questions.

Happy Easter !!!!


Monday, April 6, 2009

Play the Discovery Game

To discover facts about the history of programming languages we are playing the discovery game you have been creating last time in class. I have seen everybody working hard in their expert teams and so I am looking forward to this morning. Weather permitting we will be outside and combine our game with an Easter egg hunt.

Homework
Read the article: "A Brief History of Programming Languages".

Friday, April 3, 2009

ICT @ EA

Today we had an interesting field trip to EA in Burnaby. Mr. James Banting, one of their software engineers, introduced us to career opportunities in the gaming industry and we learned interesting things about life at EA. Here are some photos, shot by our host Mrs. Wendell Harlow.





If you want to test some new games at EA visit their sign-up page.

Tuesday, March 31, 2009

Discover Programming Languages

Today we are starting our journey into the history of programming. We are going to develop a discovery game. Each of you will be joining an expert team to explore one stage of the history of programming languages.

Homework
Read the article: "A Brief History of Programming Languages".

Reminders for our field trip to EA
  • Meet on Friday, April 3, 09 at 11am at WCCS.
    We take public transport.
  • Dismissal at 2pm from EA, 4330 Sanderson Way in Burnaby.

Monday, March 30, 2009

Want to Become a Game Programmer?

Today we are exploring what it takes to become a successful player in the game developing industry. This is a preparation for our field trip to the Burnaby location of Electronic Arts on Friday, April 3, 2009.

Reminder
Without permission slip you cannot join us to EA on Friday.

Tuesday, March 10, 2009

From Alice to Java

Today you will be exploring more about the Java language. You will get to know how to express the control structures you have been using in Java and how methods and functions look like. Maybe you will discover even more. Use the worksheet More on Java.

Have a great spring break!

Monday, March 9, 2009

Java Code behind the Scenes

Now as we have learned how to program with Alice we want to look behind the scenes. Alice is based on the Java programming language, and today you will be exploring this language using the Java-like editing style in Alice. You will learn about syntax, the rules of a programming language, and discover some of Java's syntax rules.
In the lab you work on your incomplete tasks like the recursive solution of the butterfly chase and the click-a-cow project on page 254.
For those who have completed all assignments: Form a team and work on project 1, page 252: Why Did the Chicken Cross the Road?

Reminder: All permission slips for the field trip to EA on April 3, 2009 need to be in by tomorrow.

Tuesday, March 3, 2009

Recursion for Problem-Solving

Here is our new programming technique again:
This time we are using recursion for solving a special kind of difficult problems. Those problems can be divided up into smaller sub problems of the same kind that eventually are easy enough to get solved. The Towers of Hanoi puzzle is a typical example of such a problem. We will observe how to animate this game in Alice using a recursive method.
In the lab you can be a game programmer: Animate and play the Click-a-Cow game, project 4, page 254. Parts of the solution will be provided.
A screen shot of the online implementation
of the Towers of Hanoi from NLVM:


Homework
  • Read pages 236-240
  • Review questions section 8.2
  • Have your parents/ guardians sign the consent form for our field trip to EA on Friday, April 3, 2009.

Monday, March 2, 2009

Repetition with Recursion

Today we will be touching a new programming technique known as recursion.
A method or a function is recursive if it calls itself.
Recursion can be used to replace repetition. We will see how the while loop in the shark chase can be replaced by using recursion.
In the lab you can try to solve the butterfly chase recursively as described in exercise 2, P.250-251.

Homework

Tuesday, February 24, 2009

End of Term 2

Your project is due today and
your vocabulary sheets of chapter 6 and of chapter 7 have to be handed in.

Monday, February 23, 2009

The Butterfly Chase

Today and tomorrow work on finishing your second Term 2 project: The Butterfly Chase.
The project is due on Tuesday, Feb. 24, 09 which is tomorrow.

Homework

  • Complete your vocabulary of chapters 6 and 7.

Tuesday, February 17, 2009

Repetition Ends Upon Condtion

"While it is not lunch break I am learning new stuff in class", this is what you will experience today: The new stuff we are learning about today is conditional repetition using a While statement. It starts and runs a block of code as long as a condition is true. It stops as soon as the condition is false. So, as long as you are in class you will be learning the new things of section 7.2, but don't forget about your lunch break (as your teacher sometimes does), otherwise learning will never end.
In the lab work on the Butterfly Chase.

Homework

Monday, February 16, 2009

In the Loop

After the end of term test about chapters 4,5 and 6 we are going to repeat an old topic: Using Loops for repetition. This will be the start of chapter 7 about control structures for repeating a block of code. Learn new vocab using the vocab sheet.


In the lab we will be setting up the scene for our new project: The Butterfly Chase where a rabbit chases and finally catches a butterfly that is trying to escape.





Homework

Tuesday, February 10, 2009

Review and Practice


Before the lab starts we will be preparing for our end of term test using the review sheet for chapters 4/5/6.
In the lab you can work on finishing and refining the exercises 2, 6 and another one (out of 7-12) of your choice.





End of Term Test
  • Monday, February 16, 2009

Homework
  • Study for the End of Term Test.

Monday, February 9, 2009

Functions need Practice


After the vocabulary quiz of chapter 6 we will be preparing for our end of term test by starting our review of chapters 4,5, and 6. You can download the review sheet from the review questions section to the right.
The second part of the class will be lab time for the completion of exercises 2, 6 and another one (out of 7-12) of your choice.

End of Term Test
  • Monday, February 16, 2009

Homework

Tuesday, February 3, 2009

Random Numbers

This is the opportunity to learn about an important feature that programming languages have to offer: Random numbers.
Those numbers play an important role when encrypting information and for simulation programs.
In the lab we will be continuing on our exercises.

Homework
  • Complete your vocabulary sheets for chapter 6. The key posted to the right will help you!
  • Study for a chapter 6 vocabulary quiz coming up next Monday, Feb. 9, 2009.

Monday, February 2, 2009

Boolean Functions and If/Else

Today we will learn about an instrument that is a big part of game and simulation programs: The if/else statement that helps you to control the execution in your animations. This statement allows you to perform a number of actions only if certain conditions are met and to perform something else otherwise.
We will also learn about functions that help to make decisions in if/else statements. Those functions are called Boolean Functions. They return a TRUE or FALSE value.
We will observe how these powerful weapons can help improving the known bugs of the Zeus' Wrath animation. Zeus then will no longer be able to strike any object and will laugh at us if we want him to strike a philosopher twice.

In the lab you will be working on exercise 6 on page 199 of the textbook. This exercise takes the animation even a step further: The philosophers start talking and Homer gains immunity against Zeus' strikes.


Homework
  • Read section 6.2, pages 178-191
  • Answer the review questions 6.2.

Tuesday, January 27, 2009

Computations with Functions

Today is the starting point for chapter 6. We are digging deeper into functions. In chapter 3 we already used the built-in functions Alice has to offer. Today we will realize that those are not sufficient, that we need more functions. So we will learn how to create our own.
Use the vocabulary sheet to fill in all the new words.
In the lab we will be working on exercise 2: Rotating Tires on a Car or Truck, P. 196-197.

Homework

  • Read the introduction to chapter 6 and section 6.1, pages 171-178.
  • Answer the review questions 6.1.

Monday, January 26, 2009

Test the Clean-Up Robot

Today you will continue to develop and test the interactive The Clean-Up Robot.

Test the methods, one after the other. Then link them to the events and test the whole animation.

At the end of the class the project is due. Make sure to hand the project report in according to the standards described.


Homework

  • Read the introduction to chapter 6 and section 6.1, pages 171-178.

Tuesday, January 20, 2009

Continue the Interactive Clean-Up Robot

Today you will continue to develop the interactive The Clean-Up Robot.

After the scene set up start writing the event-handling methods according to your storyboards. Test the methods, one after the other. Then link them to the events and test the whole animation.

Monday, January 19, 2009

An Interactive Clean-Up Robot

In the first half of the class today you will be working on catching up with the missing exercises.

In the second half of our class we are starting our first Term 2 project:
The Clean-Up Robot.
This robot will help you clean up a messy room and store whatever object you click on in a closet.

After the scence set up, an interactive program with three event-handling methods each having one parameter needs to be developped and tested.




Homework

Design the storyboards for the three methods (Part 2 of the project).

Tuesday, January 13, 2009

Zeus' Wrath


To develop the game of the Greek God Zeus strinking people of your choice will be our challenge today.
To conquer the task to animate this quite difficult game we want to apply stepwise refinement.
Testing if everything is working well (and what can go wrong) is part of today's development.
(... and of course: methods with parameters will participate in the game again.)
In the lab we will be modifying the animation as described in exercise 9, page 161 and we will be learning about the "let the mouse move objects" event in exercise 10, p. 161-162.

Monday, January 12, 2009

Events and Event-Handling


Today we are looking at the example of a firetruck saving people from a burning house.
This is to understand the concepts of event-handling with methods that have parameters.
In the lab we will be working on exercise 5, page 160 and, as an alternative, find a solution using only one event-handling method (with a parameter for more flexibility).


Homework


  • Read section 5.2: Parameters and Event-Handling Methods, pages 146-155.

  • Answer the review questions section 5.2.

Tuesday, January 6, 2009

Interactive Programming

Today we will be taking our first step to become a game programmer.

In chapter 5 a flight simulator will be used to introduce interactive animations, where the user can influence the sequence of the actions by pressing a key or using the mouse. These actions generate events and the interactive-program responds to those with event-handling methods.
The vocabulary sheet to be filled in will help you to understand all the new words that are presented today.

In the lab we will be improving the flight simulator (Ex. 1 and Ex. 2, P. 158) presented the chapter 5.1.


Homework
  • Read section 5.1: Parameters and Event-Handling Methods, pages 140-145.
  • Answer the review questions section 5.1.

Monday, January 5, 2009

Snow Day

Too much snow in Vancouver - no classes today!!!