You are on page 1of 5

Syllabus for Intermediate C++ Programming for Games

Course Number Credits Office Office Phone CS 233G 4 Bld 19, Rm 152 541-463-3024 Sections Instructor Office Hours E-mail CRN 32960, 32961 Brian Bird

M,W 3:00 4:00; Tu, Th 4:00 - 5:00


birdb@lanecc.edu

Course Description This course builds upon the introduction to C++ provided in CS 133G. It provides an in-depth introduction to the semantics of object oriented programming in C++. You will learn the concepts, skills and tools necessary to analyze problems from an object oriented perspective and develop object oriented solutions. Most of the programming assignments for the class involve relatively simple games. The last section of the course will provide you with an introduction to the cross platform SDL (Simple Direct-media Layer) library and will allow you to create graphically based versions of the games developed earlier in the term. Learning Outcome To be able to write intermediate level object oriented programs using proper C++ syntax and semantics, compile those programs, debug them as necessary, and run them. Course Content Technologies C++ Themes and Issues Software engineering C++ semantics Concepts Arrays Structures Classes and objects Exception handling Code::Blocks Algorithm development Top down development Dynamic memory allocation Procedural vs. OOP Inheritance Files and streams SDL C++ syntax Object oriented development Strings Information hiding Polymorphism Graphical User Interfaces

Skills Use Code::Blocks to enter, compile and run C++ programs. Effectively use: arrays, strings, dynamically allocated memory, pointers, classes and objects, file I/O and streams, structured exception handling, SDL. Design, implement, test and debug a variety of procedural game programs in C++. Design, implement, test and debug a variety of object oriented game programs in C++. Design, implement, test and debug a variety of game programs with a graphical user interface using SDL in C++. Describe concepts, themes and issues orally and in writing.

Learning Resources Texts Starting Out with C++: Early Objects, 7th ed., by Gaddis, Walters and Muganda is the main text for the course. An electronic copy of the source code for all of the sample programs in the text is available on the cd that came with the text. These files are also available on the web site for the text book (http://www.aw.com/cssupport). Web Sites http://moodle.lanecc.edu will host the web site for the course. The site is designed as a supplement to the in-class section of the course. Software The hardware and software required for the course is available to all students in the CIT Main Lab on campus. You paid a fee when you registered for this course that provides you with unlimited access to CIT lab facilities. Code::Blocks will be used as the C++ integrated development environment in class and in the CIT Main Lab. This is free software which can be downloaded from http://www.codeblocks.org. The SDL libraries are also free and can be downloaded from http://www.libsdl.org/ You may use any C++ development environment you choose to complete your lab assignments. A forum to facilitate discussion of development tools will be available on the moodle web site. Assessment Tasks The learning outcome will be demonstrated by these tasks that progressively build on each other. These assignments are tentative. Labs 1. Design, implement and test a C++ program that reviews concepts introduced in CS133G. 2. Design, implement and test C++ classes. 3. Design, implement and test more complex C++ classes. 4. Design, implement and test C++ programs using arrays 5. Design, implement and test C++ programs using 2-d arrays. 6. Design, implement and test C++ classes that use inheritance. 7. Design, implement and test an OO program in C++. 8. Test a program with a graphical user interface using SDL. 9. Design, implement and test a program with a graphical user interface using SDL. 10. Design, implement and test an OO program with a graphical user interface using SDL. Tests 10 Reading Quizzes 2 Exams 2

Assessment and Grading Specific grading criteria will be applied to each of the labs, quizzes, and exams you will be working on in this class. Part of the lab involves peer evaluation. You will be provided with lab evaluation worksheets for each lab. Attendance is not graded. The table below summarizes the possible points for each assessment task as well as the course as a whole: Assessment Activities Labs Lab Evaluations Reading Quizzes Exams Percentage 40% 10% 20% 30%

Letter grades for the course will be determined by the following percentages: A 90 - 91 92 97 B 80 - 81 82 87 C 70 71 72 77 D 60 - 61 62 67 F Below 60 Late Work The grade for labs submitted after the due date will be reduced by 10%. Labs submitted after the in-class lab evaluation will be reduced by 25% Quizzes and exams cannot be taken after the due date. Plan ahead! Exceptions will only be made for severe illness or emergency situations.

+ 98 - 100 88 - 89 78 - 79 68 - 69

Academic Honesty While students are encouraged to discuss labs and to use each other as resources, each student is responsible for his/her own work. In other words you can help each other, but you cant copy any part of someone elses work. The end product must be each students own individual work. Attendance Class attendance is not mandatory, but students are responsible for mastering the material covered in class as well as gathering information related to the course that was provided in class.

Tentative Course Schedule In Class Learning Activities Weeks 1 & 2 Review concepts and skills from CS 133G Classes and objects Weeks 3 - 5 arrays. Multi-dimensional arrays Dynamically allocated arrays. Introduction to pointers. Midterm Exam Weeks 6 & 7 Strings Inheritance Weeks 8 - 10 File I/O Introduction to SDL Creating games with SDL Finals Week Final Exam Things To Do Outside Class Read Chapters 7 & 8 in Gaddis Review your notes from CS133G. Complete Labs 1 & 2. Complete reading quizzes Complete Exam 1. Read Chapters 9 & 10 Complete Labs 3 -5 Complete reading quizzes

Read Chapters 11 & 12 Complete Labs 6 & 7. Complete reading quizzes. Complete Exam 2 Read Chapter 13 Complete labs 8 10 Complete quizzes

Weekly Activities (tentative) First class meeting Second class meeting Review previous Lecture In-class lab Lab time activities Review Quiz Lecture Homework due

Thursday

Sunday

Lab evaluation due

Quiz due Lab due

Academic Calendar for Winter Term 2012 Term begins 1/9 Last day to receive refund 1/15 Martin Luther King Jr. holiday 1/16 Presidents Day holiday 2/20 Last day for schedule changes 3/2 Finals week 3/19-3/24 Term ends 3/24 Spring break 3/25-4/1 Disability Services If you need support or assistance because of a disability, you may be eligible for academic accommodations through Disability Services. For more information, contact Disability Services at 463-5150 (voice) or 463-3079 (TTY), or stop by building 1, room 218.

You might also like