AIU GAM1xx Fundamentals of Programming and Logic
International Game Developers Association
Contents |
Course Information
Course Title
Fundamentals of Programming and Logic
Course Number
GAM1xx
Instructors Name
Full Name (optional telephone number and email)
Date
Date course begins or beginning and ending dates of term
Course Length
12 Weeks
Course Schedule
Day(s), Evening(s), Time class begins and ends each meeting
Unit of academic measurement
Quarter
Lecture Hours
40
Lab Hours
40
Externship/Internship Hours
0
Total Credit Hours
6
Total Contact Hours
80
Course Description
This course is a disciplined introduction to computer concepts and common programming language structures used in application development processes. Programming concepts and problem-solving techniques are applied through the analysis of variables and scope, basic data types, and control structures.
Prerequisite
GAM1xx
Co-requisites
None
Description of Content
Textbooks
- REQUIRED Mathematics for 3D Game Programming & Computer Graphics, Eric Lengyel, Charles River Media, 2001. ISBN: 1584500379
- OPTIONAL Thinking in C++, Volume I: Introduction to Standard C++ (2nd Edition), Bruce Eckel, Prentice Hall, 2000. ISBN: 0139798099
- OPTIONAL Thinking in Java (3rd Edition), Bruce Eckel, Prentice Hall, 2002. ISBN: 0131002872
- OPTIONAL Game Scripting Mastery, Alex varanese and John Romero, Premier Press, 2002. ISBN: 1931841578
Resources & Supplies
- REQUIRED Notebook, pen.
Course Specific Performance Objectives
Upon completion of this course, the student should be able to:
- Identify program logic, techniques, and tools common to all programming languages, including pseudo-code, structured English, and flowcharts
- Demonstrate the basic operation and use of computer hardware and software.
- Explain how to download and install software.
- Demonstrate programming essentials that include such topics as data types, pointers, arrays, string processing, stacks, recursion, searching and sorting algorithms, classes, objects, references, memory addresses, files, and graphics.
- Utilize conditional statements, loops, control breaks, arrays, and sorting logic.
- Describe and use problem-solving techniques common to all programming languages
|
Life skills Performance Objectives |
Objective Assessment Measures |
Subjective Assessment Measures |
Program Standards |
Purpose |
|
Demonstrate Participation and Critical Thinking |
|
|
Describe and use problem-solving techniques common to all programming languages |
Prepares learners to problem-solve in programming and to work with others in production teams |
|
Explain Programming Concepts and Program Development |
|
|
|
Encourage development of communication skills that promote effective work skills and idea development |
|
Demonstrate terms, principles, and techniques used in computer programming |
|
|
Students participate in individual and group-based assignments |
Students self-evaluate their programming knowledge and technical proficiency |
Course Outline
|
Topic And Date |
Description of Content |
Time |
|
1 |
Getting Started; Working with Strings: A brief tour of C++, writing a simple program, comments, standard headers, scopes, string literals, character strings, #include, the main function, braces, output, standard libraries, the return statement, input, framing a name; language grammar and details (declarations, variables, types, expressions, statements, initialization); compatibility and technicalities; online resources; introduction to software and compiling |
5% |
|
2 |
Overview of Basic Facilities; Looping and Counting: Types and declarations; pointers, arrays, and control structures; expressions and statements; functions; namespaces and exceptions; source files and programs; overall structure and uses Writing an unknown number of rows, writing a row, the complete framing program, counting |
10% |
|
3 |
Working with Batches of Data; Organizing Programs and Data: Computing student grades, using medians instead of averages, organizing computations, organizing data, putting it all together, partitioning the grading program, the revised grading program |
10% |
|
4 |
Using Sequential Containers and Analyzing Strings: Separating students into categories, iterators, using iterators instead of indices, rethinking our data structure for better performance, the list type, taking strings apart, testing our split function, putting strings together |
10% |
|
5 |
Using Library Algorithms and Associative Containers: Analyzing strings, comparing grading schemes, classifying students, algorithms, containers, and iterators, containers that support efficient look-up, counting words, generating a cross-reference table, generating sentences, a note on performance |
10% |
|
6 |
Writing Generic Functions; Defining New Types: What is a generic function? Data-structure independence, input and output iterators, using iterators for flexibility; student_info revisited, class types, protection, the student_info class, constructors, using the student_info class; |
10% |
|
7 |
Managing Memory and Low-Level Data Structures: Pointers and arrays, string literals revisited, initializing arrays of character pointers, arguments to main, reading and writing files, three kinds of memory management |
10% |
|
8 |
Defining Abstract Data Types; Making Class Objects act like Values: The Vec class, implementing the Vec class, copy control, dynamic Vecs, flexible memory management; a simple string class, automatic conversions, Str operations, hazardous conversions, conversion operators, conversions and memory management |
10% |
|
9 |
Using Inheritance and Dynamic Binding: Inheritance, polymorphism and virtual functions, using inheritance to solve our problem, a simple handle class, using the handle class, subtleties |
10% |
|
10 |
Managing Memory Automatically: Handles that copy their objects, reference-counted handles, handles that let you decide when to share data, an improvement on controllable handles |
10% |
|
11 |
Revisiting Character Pictures; Future Directions: Design and implementation, abstractions, additional resources |
10% |
|
12 |
Final Projects Due; Classroom Critique and Discussion |
5% |
|
TOTAL |
100% |
|
Instructional Methods
Lectures and demonstrations, classroom discussions and critiques, programming assignments, handouts, presentations, and projects will assist in the critical analysis of different logical structures, principles, and techniques of programming.
Grading
Student performance will be based upon the following criteria:
| Class Participation and Critiques: | 10% |
| Class Assignments: | 40% |
| Project #1: | 10% |
| Midterm Project #2: | 15% |
| Project #3: | 10% |
| Final Project: | 15% |
| 100% |
Library Assignment(s)
As assigned by the instructor. The written assignments will involve both library research and the use of reference material with proper documentation. Directions for the written assignments will be on file so that tutors may assist students; students requiring additional assistance should speak with the instructor at their earliest convenience. The CECybrary should also be used as a reference for all class papers and projects.
Portfolio Assignment
Program portfolios are a recommended and demonstrable means for assessing student competencies. Each student should select a project or paper from this course that best demonstrates his/her proficiencies with the material presented. Each student should then review and assess the chosen project or paper with the course instructor, revise it as needed, and add it to his/her program portfolio.
Attendance
Students are expected to perform as professionals in their respective fields, which includes reporting to work/class regularly, on time, and prepared to contribute.
- Miss 10% of the scheduled hours for the course, receive a warning letter
- Miss 20% of the scheduled hours for the course, student may be withdrawn and assigned the appropriate grade based on AIU grading policy. The instructor may consider extenuating circumstances.
- Late arrivals (tardies) or early departures from classes will be counted, on a prorated basis, in course absences.
- The university’s attendance portal does not differentiate between “excused” and “unexcused” absences. Students are encouraged to coordinate with faculty prior to missing any class period.
- Students who stop attending class without officially withdrawing will be considered in violation of the attendance policy and will receive the appropriate grade, which may include a grade of “F.”
- Students are responsible for any missed work when absent. In addition, the student is expected to be prepared for class upon his/her return.
- At the discretion of the respective faculty member, class participation, not attendance, may be included in the course grade.
- Students requesting a grade of Incomplete must follow the guidelines established in the College Catalog or the Student Handbook.
AIU Library Usage and research support
Students with valid AIU IDs are encouraged to use the Buckhead Campus Library to conduct research. The website to look for books in the AIU Library is http://arc.aiuniv.edu. The research database, GALILEO, may be accessed from two websites: http://www.galileo.peachnet.edu or http://www.galileo2.peachnet.edu. Passwords for access to GALILEO change periodically, but can be obtained from the Library at 404-965-5767.
Make-up work
To be determined by the faculty member.
Revision date
12/02 JSaulter
