CSCI202: Computer Programming II

Updated 2019-03-20

Syllabus     XNA on YouTube     Academic Calendar     Final Exam Schedule

Final Test will be Tuesday, 5/7/2019 at 12:30 p.m.

Things students already know how to do:

Day #14. Tuesday, 3/19/2019

·        Crossing the screen slowly (like space invaders): Notes

·        Invader bullets. Notes.

·        Extra time? Work on Invaders. USE FUNCTIONS!

Complete program #8 due Tuesday, 3/26/2019.

·        Space Invaders. Image files. Hand in a zipped copy of your project in the drop box.











Day #13. Thursday, 3/14/2019: Sprite sheets

·        Free looping sound files. They are relatively small and can be used for background sound.

·        Sprite sheet animation: Notes. Files.

Program #7, part 1 of Space Invaders due Tuesday, 3/19/2019.

·        Part 1 of the Space Invaders program.

Complete program #8 due Tuesday, 3/26/2019.

·        Program: Space Invaders. Image files. Hand in a zipped copy of your project in the drop box.

Tuesday, 2/12/2019. NO CLASS. Water main break.

Day #12: Thursday, 2/28/2019. Test #1

·        Zipped test project

Day #11. Tuesday, 2/26/2019

·        Test #1 is Thursday.

·        Brickout: placing bricks.

·        Functions: Finish sample problems. Practice.

·        Topics to know for the test.

Homework due Tuesday, 3/12/2019

·        Brickout!

Day #10. Thursday, 2/21/2019

·        Test #1: Thursday, 2/28.

·        Shooting multiple bullets.

·        Subprograms. Notes. Practice.

Homework due Tuesday, 3/12/2019

·        Program: Brickout!

Day #9. Tuesday, 2/19/2019. Arrays

·        Arrays. Notes. Create an array of asteroids, bullets. Asteroid. Bullet.

Day #8. Thursday, 2/14/2019. Shooting at an angle

·        Collision detection in Whack an Asteroid.

·        New C# elements:

·        Structs. Notes.

·        Enumerated data types and game state. Notes.

·        Moving things at an angle: Notes.

·        Try: Draw asteroids at different scales and rotation speeds.

Homework due 2/19/2019:

·        Program: Whack an asteroid.

Day #7. Tuesday, 2/12/2019. Repetition, a more flexible Draw method

·        Another version of the Draw method. Notes. Marilyn. Asteroid. Arrow.

·        All 8 versions of Draw.

·        Repetition. Notes.

·        Add a shadow to this bouncing ball. Bouncing ball program.

Homework due Tuesday, 2/12/2019:

Homework due 2/19/2019:

·        Program: Whack an asteroid.

Day #6. Thursday, 2/07/2019. Functions

·        Add functions to our Pong game. Function notes.

·        Shooting bullets. Notes.

·        Debugging: Slowing down the clock: Notes

·        Debugging: Setting breakpoints and watch lists: Notes.

Homework due Tuesday, 2/12/2019:

·        Program #4: Alien shooter

Tuesday, 2/05/2019: NO CLASS TODAY. Tom is sick.

Day #5. Thursday, 1/31/2019. Making noise, splash screens, shooting bullets

·        Enhance our Pong game:

·        Add Content: sounds. Notes.

·        Add a splash screen.

·        Add Keyboard input. Notes

·        Changing the window size: Notes

·        Making decisions with the if statement: Notes

Homework due Tuesday, 2/12/2019:

·        Program #4: Alien shooter

Tuesday, 1/29/2019: NO CLASS TODAY. School closed.

Day #4. Thursday, 1/24/2019. Game content: sounds

·        Get some content by copying this folder to your desktop: N:\All Courses\Kleen Courses\_MyContent.

·        Finish 2-player Pong.

·        Add scores: Strings, Fonts, and Vectors: Notes; Aligning scores and other text: Notes

Homework due Tuesday, 1/29/2019 at noon

·        Program #3: One-player Pong. Start from scratch; do NOT try to modify the 2-player Pong program. It'll be more trouble than it's worth.

Day #3. Tuesday, 1/22/019. Game content: sprites & fonts. Arithmetic, timers

·        Timers & game states: Notes

·        Button presses: Notes

·        Writing a Pong program in class: Problem description. Images.

Homework due Thursday, 1/24/2019 at noon

·        Program #2: Catch the bad guy. Use the gamepad to chase images around on the screen.

Day #2. Thursday, 1/17/2019. Gamepad input

·        Sprites: Notes

·        Gamepad input and the if statement: Notes

·        Arithmetic: Notes

·        Keeping images on the screen: Notes

Homework due Tuesday, 1/22/2019. Zip the project (top-level) folder and put the folder in the drop box.

·        Program #1: Color Controller.

Day #1. Tuesday, 1/15/2019. C#, XNA/Monogame, Visual Studio, and colors

·        Objectives:

o   Run a C#/Monogame program

o   Change background color using a named color

o   Change background color using R, G, and B variables

o   Set a random starting color

o   Change the color on every tick by incrementing R, G, and B.

o   Data types and type casting

o   The if statement

·        Programming and C#: Notes

·        What is XNA/Monogame? Notes

·        Setting defaults in C#: Notes

·        Colors on a computer: Notes, List of named colors in C#

·        Making decisions: Notes

·        Random numbers and type casting: Notes

Software used in this class

·        If you want the Visual Studio software on your own (Windows) computer, you can get the software (free) from Microsoft:
Visual Studio 2017 Community Edition.

·        You can download Monogame. If the installation process only allows for templates from Visual Studio 2010, that's fine; it'll still work.

·        Templates (need to link to them from Tools | Options | Projects and Solutions | Locations | User project templates location.

·        We will be using the following (free) image editor to create sprites for our programs: Paint.NET

·        We will be using the following (free) sound editor to edit sound files for our programs: Audacity

"Homework" due Thursday

·        If you haven't already done so, buy a game controller from the book store.

·        Read, print, and sign the Attendance, Test, and Homework Policies.

Interesting articles for programmers:

·        Top jobs, 2019

·        The Joys of the Craft

·        The Urge To Do It All Over Again

















Day #15. Thursday, 3/21/2019: Parameters

·        Functions review. Notes

·        Reference parameters. Notes

·        More functions. Notes.

·        Multi-way branching made cleaner: the switch statement.

·        Stopping prematurely: the return statement, the break statement

·        Debugging review: Debugging


·        Continue working on Space Invaders.

Day #16. Tuesday, 3/26/2019: 2D arrays

Day #17. Thursday, 3/28/2019: Mouse input, Minesweeper (in class)

Homework #8. Due Thursday, 3/28/2019

Day #18. Tuesday, 3/26/2019: Files

Homework #8. Due Thursday, 3/28/2019

Day #19. Thursday, 3/28/2019

Homework #9. Due Thursday, 4/04/2019

Day #20. Tuesday, 4/02/2019: Sorting and Searching

Homework #9. Due Thursday, 4/05/2018

Day #21. Thursday, 4/04/2019: Classes

Day #21. Tuesday, 4/09/2019: Life

Homework Due Thursday, 4/13/2016 at noon (handed out Day #18—3/30/17 due Day #21—4/13/17)

Homework due Tuesday, 4/25/2017

Day #20. Thursday, 4/06/2017: Lists




Day #22. Thursday, 4/11/2019: Test #2

Test will be Tuesday

Day #25. Tuesday, 4/16/2019: Classes


Day #26. Tuesday, 4/24/2019: More Classes and Objects

Homework due at the end of the semester

Day #27. Thursday, 4/26/2019: More Classes and Objects

Homework due at the end of the semester

Day #28. Tuesday, 5/01/2019

Homework due at the end of the semester

Day #29. Thursday, 5/03/2019

Final Test. Thursday, 5/10/2019



Earlier classes are below…



































Day #23. Thursday, 4/12/2017: Classes

Homework due at the end of the semester

Day #24. Tuesday, 4/17/2017: Classes and Frogger

Homework due at the end of the semester



Tuesday, 1/23/2019. No Class. Snow Day.



Day #29. Thursday, 12/08/2016.