CS105L Introduction to Game Programming Using Alice

Fall 2009

Course Instructor Dr. Jeff Gray (gray@cis.uab.edu)
Web: http://www.cis.uab.edu/gray
Office: CH 126
Phone: (205) 934-8643
Office Hours: I can set aside a larger span of time if you send me an email to request an appointment time.
Lab Instructor David O'Gwynn ( dogwynn@cis.uab.edu)
Course Session Thursday 4:00pm-5:15pm CH 145
Lab Session Mon 3:30pm-5:20pm CH 145
Links
Course: http://www.cis.uab.edu/cs105/
Lab: http://www.cis.uab.edu/cs105/lab/
WebCT: http://www.uab.edu/academiccourses
Alice: http://www.alice.org
Prerequisite No course pre-requisites; general familiarity with Windows assumed
Description This course provides an introduction to computer programming for students with no previous programming experience. Topics include simple data types, control structures; an introduction to array and string data structures and algorithms; recursion; event driven-programming; multimedia and simple animation; basic software development and modularity. Laboratory component in context of object-based programming language. One hour per lecture. Two hours per laboratory.
Objectives
  • Basic process of writing a computer program (requirements, design, implementation)
  • Terminology of object oriented programming: objects, methods, properties, and inheritance.
  • Fundamentals of algorithm design: functions, control structures, if/else, loops, recursion, basic concurrency
  • Elements of interactive programming: event handling
  • Basic data structures: lists, arrays
Textbook Starting out with Alice, Tony Gaddis, Addison-Wesley, 2007.
Grading Policy
Attendance/Participation: 5% overall
Weekly Quizzes: 5% overall
Homework: 15% overall
Term Project: 20% overall
Lab Exams (2): 10% each
Tests (2): 10% each
Final Exam: 15%

All tests, lab exams and final exam are mandatory. All travel should be scheduled around projected exam dates. No make-up exams.
Late Submission
  1. All assignments are due at the beginning of class on the due date. Any assignment turned in after this deadline is considered late. Late assignments will lose 10% for every 24-hour period, up to a maximum of 50% (weekends and holidays count as one 24-hour period).
  2. All assignments must be turned in even if they are late. Failure to submit any assignment will result in a grade of ‘F’.
Quizzes There will be a total of 8 quizzes. You will be able to drop the lowest score (that is, only the top 7 scores will count toward your overall quiz grade). There will be NO makeup quizzes, unless you give me over a week’s advanced notice with a good reason (e.g., medical emergency). Requests for make-up quizzes, after the fact, will be denied and you will receive a zero for missing a quiz without a valid excuse.
Lab Policy
  1. The lab class will start meeting on August 26, 2008.
  2. Attendance is mandatory for the lab. Attendance for lectures and labs will count as 5% of your overall grade.
  3. Students must attend the lab during lab exams. There will be NO make-up lab exams.
  4. The laboratory instructor will provide the laboratory policy and procedures.
  5. A separate web page with laboratory syllabus and example programs will be provided on the lab web page.
Class Conduct
  1. Students are expected to conduct themselves in a professional manner.
  2. Laptops will be allowed only for the purpose of the class.
  3. During a lecture, students may not log into a machine and do work that is not directly related to the topic of the current lecture.
  4. Students must turn their cell phones/pagers OFF during the class.
Class Attendance
  1. Attendance is mandatory for the lecture portion of this course. If you know you will be absent for a legitimate reason, let the instructor know. If you are sick, bring a doctor’s excuse or a written university excuse to resolve the absences. An absence has to be resolved as soon as possible - otherwise it will be treated as an unexcused absence. Students will receive a penalty of two percentage points on the final grade for each unexcused absence beyond the third absence (excused or unexcused).
  2. Students auditing this course are expected to attend the lectures. Auditing students with more than three unexcused absences will receive a failing grade.
  3. There will be NO make-ups for tests. If you miss a test for a legitimate reason, your final exam grade will replace that test grade. If the absence is unexcused, you will be assigned 0 for the test. A student anticipating an excused absence for the final exam should make arrangements in advance to take the exam at another time.
Academic Honesty Students who plagiarize a computer program (or parts of a program), get others to write a program (or parts of a program), or are found cheating on an exam, will be reported for academic dishonesty. Anyone who is caught cheating will receive a 0 on a given test or assignment. If a second offense occurs, the student will receive an F in the class. This includes both the provider of the information as well as the receiver of the information. Any student who violates the university's academic honesty policy will be reported for academic discipline. All university and department policies related to students are included here by implication.
Add/Drop Policy
  1. A student can add/drop the course through August 26, 2008.
  2. A student can withdraw with a "W" by October 17, 2008.
  3. For more details about add/drop policies check with Registration/Academic Records.
E-mail Every student will be required to use his/her official email address (that is, blazerid@uab.edu). New students must login and configure their email addresses. For more details on obtaining a blazerid and configuring email, please see: http://www.uab.edu/blazerid. All email communications will be made using this address. Additional instructions or announcements will be sent by e-mail, so check your mail often - at least twice a day (once in the morning and once at night). Also, check the course webpage for up-to-date information and announcements. The instructor will check email frequently; e-mail is often the best way to contact the instructor.

Tentative Schedule for Lectures

(Lab Schedule Separate)
DateTopicsDescription
August 20 Introduction to Course
Why Study Computer Science?
Example Alice Movies and Games
27 1: Introduction to Alice and Objects
Sep 3 2: Programming in Alice Quiz 1
10 3: Variables, Functions, Math and Strings Quiz 2; HW-1 Assigned
17 4: Decision and Repetition Structures Quiz 3
24 5: Methods, Functions, and More Variables Quiz 4; HW-1 Due
Oct 1 5: Methods, Functions, and More Variables Quiz 5; HW-2 Assigned
8 EXAM 1
15 NO CLASS - FALL BREAK
22 6: Events Quiz 6; HW-2 Due; Jeff out of town
29 7: Lists and Arrays Quiz 7; HW-3 Assigned
Nov 5 8:Recursion
12 Catchup time
Advanced Topics in Alice
Quiz 8; HW-3 Due
19 EXAM 2
26 THANKSGIVING BREAK: NO CLASS
Dec 3 Project Presentations



Last modified: 08-20-2009
By: David O'Gwynn