To BVSD Main Page...
To Boulder High School Main Page...
 

Advanced C++
D89 Year Long
Grades 9-12

For more information, contact:
Naomi R. Salaman
303-447-5314
naomi.salaman@bvsd.org

Course Description:

This is a second year advanced C++ programming course. More templates, classes, graphics, and group projects in C++ are covered. The Java language will also be implemented and used for web applications.

Course Outline:

Week Topics Assignments
1 Review of basic syntax of C++ including classes and use of projects. Stress the use of comments in programs. Write a guess my number game that uses classes and allows for a limited number of guesses and a reward for a correct answer.
2 Continue with review of graphics to incorporate into Guess My Number game. Add graphics to the Guess My Number Game.
3 Review of classes and their implementation. Show video on classes. Create an employee class that has the person's name, address, Social Security number.
4 Talk about inheritance and review. Add to the employee class by inheriting a type of position.
5 Using classes with graphics. Create a smiley face with eyes, nose and mouth. Use classes.
6 Review the use of the mouse in programs. Add the mouse to the Smiley Face and have the mouth change when you click the mouse over the mouth. You can also do a similar thing with the eyes.
7 Continue with the Smiley Face.
8 Talk about apstring, apmatrix classes. Program 5 short problems using apstring and apmatrix.
9 Answer questions about apstring and apmatrix. Continue to work on 5 problems.
10 Talk about large projects and let students pick a project to complete. Create a project that uses graphics, the mouse and classes. It can be a game or some type of application. You may choose.
11 Continue with major project. Continue with major project.
12 Continue with major project. Continue with major project.
13 Take digital pictures of students and show them how to incorporate them into their programs. Make an opening screen for your projects that include your picture, your name (you can use both horizontal and vertical writing) and some graphic rotations.
14 Continue with Opening Screen assignment. Continue with Opening Screen assignment.
15 Talk about file operations using fstream. Make a program that reads and writes information to a file.
16 Talk about the importance of working in teams and making your code understandable to others. Divide into teams of 3-4 and create a puzzle project that allows you to move the pieces around the screen and place them. As a group assign the different members parts of the program to do and then put it all together with documentation.
17 Group Puzzle Project Group Puzzle Project
18 Group Puzzle Project Group Puzzle Project
19 Group Puzzle Project Group Puzzle Project
20 Review template syntax. Create a generic function that swaps the values of two variables with which it is called. Display the original and the swapped variables.
21 Template classes.
22 Project that includes everything up to this point. You may work in pairs or individually. Create a project that uses graphics, mouse, classes, templates, and is well documented.
23 Continue Project. Continue Project.
24 Continue Project. Continue Project.
25 Continue Project. Continue Project.
26 Introduction to Java. Go to the web and find a Java tutorial and spend at least 2 days on it. Take notes as necessary.
27 Similarities with C++. Use J++ to write programs. Familiarize yourself with the operating environment. Write a simple Hello World program and get it to work. Add more to it.
28 Java byte codes, Java virtual machine, Just-in-Time compilation Write a program that takes input of the date in the form month day year. From this, it calculates the number of days since the beginning of the year.
29 Java classes and similarity to C++ Use example of simple bank account and see how it works and add anything to it that might be helpful.
30 Pointers and linked lists. Use the car example to see some privacy issues and then look at linked list example.
31 Loops and arrays Write a simple program that uses one dimensional arrays and for loops.
32 The windows abstract toolkit (what it contains and how it works) Create an applet boilerplate and then add to it.
33 Graphics and packages Write a graphic program that makes a marquee scroll.
34 Animation and screen flicker. Create an applet that replays a series of images that display something rotating.
35 Final Project using Java and/or Applets. Put it into a working web page. This is also the final exam. Pick a project to write using Java or Applets and put it on a working web page.

No textbook is used for this class. Assignments are distributed to the individual students by using the network. Assignments can be retrieved from the individual students' accounts when they have finished a project.

 
Home...

Valid XHTML 1.1
Valid CSS


Copyright © 2008 Boulder High School. All rights reserved.
Page last updated December 19, 2006