Course Overview

Course Learning Objectives
In this course, students will collaborate in small teams to create educational games for youth by programming XO laptops with Python. The students join a history of several semesters of students as part of the Computing Teams for Youth (CT4Y) project, funded by the National Science Foundation. Students will discuss good learning game design principles, participate in open-ended team projects, assist teachers in incorporating XOs in their classrooms, gain feedback from teachers and young students using learning games, maintain reflective journals and a class wiki, and hone their communication skills giving presentations, training teachers and students, and class discussions. This course has a large service learning component. Students should emerge with a good appreciation for the design and implementation issues and strategies behind developing programs that help young students learn challenging concepts in an engaging way. A major part of the course is the practical experience of implementing a learning game on the XO laptop, deploying the game at CCCS, and observing the students using your product. Students learn software engineering methodology and working with a real client during the semester, building skills that are useful in many other software development projects.

At the end of this course, the students should:

Prerequisite: CISC 220: Data Structures or permission of instructor. Some students have taken this course successfully after completing CISC 181.

Meeting Times: TTh 9:30-10:45 (3 hours) 220 Smith Hall.
Important announcements are usually made at the beginning of class.

Instructor: Lori Pollock, pollock cis udel edu 436 Smith Hall (831-1953)
Office Hours: Tuesdays 12:30-1:30PM, Thursdays 11:00 AM - 12:00 PM and by appointment.

Teaching Assistant: Richard Burns, burns cis udel edu
Office Hours: TBA.

The Learning Process and Skills Development
Classtime will be devoted to discussions about learning game development, software engineering, service learning, Python programming, XO laptop programming platform challenges and strategies, and working with a real client. Students will be actively involved in team projects and sharing their experiences.

Why am I teaching this course?

For many years, I have actively volunteered my time and expertise towards the goal of broadening the participation of computing to underrepresented populations at the undergraduate, graduate, and high level career levels. In the past few years, I have been inspired to share my passion to help broaden participation in computing with technically competent UD students, and to work toward making a difference at the K-12 level. With similar goals, Terry Harvey and I developed a partnership with the Chester Community Charter School in Chester, PA in 2009, which enabled this opportunity. Students at UD can enroll in this course and gain skills in software engineering, Python programming on an unusual laptop platform, and communication with a real customer, while the students and teachers at CCCS gain support in many different ways from us as they seek to increase their integration of computing into their learning environment.

Course Requirements

Readings

You may use any Python book of your choice. Start with the Python online resource and look into Dive into Python. We will also read articles on learning game development, XO laptop use worldwide and its challenges, and other topics relevant to our discussions and project. These readings will be posted on the course website. We will have informal and formal presentations during class that will require at least one laptop per team. Any laptop (linux, windows, or mac) can be used for this purpose, including the XO laptop and keyboard that we will distribute to you to borrow for the semester.

Assignments and Grading

Your grade will be based on your performance in the various activities in the course. Your grade will be based on the quality of your contribution in the following areas: Class attendance is mandatory. All of these criteria will be taken into account by the instructors in assigning each student’s individual grade. We reserve the right to adjust the syllabus during the semester, and we will give you notice in class if we do.

Project Materials:

All project materials will be posted on the course website or wiki.

How to Increase your Learning in CISC 367

Course Policies

UD email: If you want to receive your UD e-mail at a non-UD mailbox (e.g., AOL, Hotmail, etc.), you must forward your UD e-mail to that mailbox and ensure that it is working so that you can receive and read official UD e-mail, including course-related materials, in a timely fashion. Instructions for forwarding are posted on the UD Network Page (www.udel.edu/network). The due dates are to be taken seriously and you should not expect them to be extended. The pace of work is implicit in the due dates and necessary if you expect to finish by the end of the semester. Homeworks to be graded should be turned in at the start of class on the specified due date. Presentations should be well prepared and completed to the instructions for the day your group is presenting.

My philosophy on late assignments is: (1) Everyone should try their best to complete all assignments by the specified due date. (2) People who work conscientiously to make the deadlines should be rewarded for their promptness and sacrifice of sleep. Thus, allowing others to hand in late assignments without some penalty is not fair to these people. However, there are various circumstances that may prevent you from completing an assignment by the due date. Allowing no late assignments would not give you much incentive to continue to work on the assignment, which is a major source of learning in this course. Thus, I believe late assignments are better than no assignment.

Unless otherwise stated, late assignments will be penalized 5% off the total possible points if turned in within the first 24-hour period after the specified due date and time, and 5% per 24-hour period (or fraction of a day) (including weekends) after that time, up to a week after the due date. Late assignments will be accepted with penalty up to one week after the due date. Assignments submitted at any later time without an approved excuse will not be accepted. It is up to you to determine the version of your assignment to be graded. You must weigh the late penalty against the completeness of your assignment.

Regrading Policy:

If you are dissatisfied with a grade on a homework, programming assignment, or exam, you should consult the instructor directly within a week of the day the graded assignment was returned to you. No regrade requests will be considered after this week period.

Posting Grades:

With your permission, grades will be posted electronically via a link on the course web site. You will need to give me a secret code name for this posting in order to keep your grade posting anonymous. If no name is given, I will assume you do not want your grades to appear. Questions about accuracy of recorded grades should be addressed to me.

Policy on Academic Dishonesty

In a course of this nature there is lots of collaborative work. However, collaboration happens within a team. If you use code or other materials that you or your team did not develop, we expect attribution to appear in your code indicating the original source (as best as you can determine). Always distinguish between materials developed for this class and materials developed outside the course. Collaboration does not extend to quizzes unless we specifically write it on the quiz. If you do not adhere to these standards and those expressed at the following website (where applicable), then we will follow University policy as described at . You will be told specifically which assignments are to be done collaboratively in groups, and which ones should be done individually without collaboration. For individual assignments, you should be directing your questions to the instructor or TA, not to other students, unless the question is a clarification question. Any evidence of collaboration other than this kind will be handled as stated in the Official Student Handbook of the University of Delaware. You should not be using or examining any program code used for projects for this course in any prior instantiations of this course. If you are in doubt regarding the requirements, please consult with me before you complete any requirement of this course.