Course Overview - Under Development
Course Learning Objectives
In this course, students will collaborate in small teams to create educational games for youth by programming 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 computing 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, 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:
- in learning game design and development
- be able to design an educational game with good design elements and play strategy
- be able to critique educational games from the viewpoint of engagement, educational value, usability, performance, and accessibility to diverse players
- in game-based learning particularly middle school education
- be aware of challenges/strategies and successes of game-based learning
- be knowledgeable of the role and impact of assessment in education (PSSA for CCCS)
- be aware of how learning styles differ and how to target each of those learning styles through software
- be able to develop and assess learning software according to Bloom's taxonomy of learning levels
- be able to program and guide children in programming in Scratch to promote computational thinking
- be able to apply the theory of collaborative learning to the specs of software
- in preparing for Programming
- be able to set up a given classroom computer platform for deploying an educational game for students
- be able to set up personal laptop for mimicking the environment of the deployed environment
- in programming
- be competent and comfortable with writing Python programs
- be competent and comfortable with linux commands
- be able to build a GUI based python program that will run on both your personal environment for development and the deployed environment with good user experience
- be able to analyze a program from the perspectives of end-user experience
- in Software Engineering and the Engineering Design Process
- client introduction
- requirements gathering and analysis
- iterative design process (idea generation, idea selection, storyboarding, iteration)
- programming, testing, and revision
- implementation within constraints for the deployed classroom environment
- reflection and analysis
- the software process with mini-deliverables throughout the semester
- in communication
- develop skills for presenting to peers, faculty, and CCCS teachers
- learn to elicit requirements from a non-technical client
- collaborate effectively with peer development team
Prerequisite: CISC 220: Data Structures or permission of instructor. Some students have taken this course successfully after completing CISC 181.
Meeting Times: TTh 11:00-12:15 (3 hours) 229 Purnell.
Important announcements are usually made at the beginning of class.
Instructor:
Lori Pollock, pollock udel edu
436 Smith Hall (831-1953)
Office Hours:
Tuesdays 1:30-2:30PM, Wednesdays 11:00 AM - 12:00 PM and by appointment.
Teaching Assistant:
Shiyi Chen, sychen udel edu
Office Hours: 9-11 AM, Thursdays.
The Learning Process and Skills Development
Classtime will be devoted to discussions about learning game design and development, software
engineering, service learning, Python programming with the Spyral library, the deployed classroom 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 game-based learning environments, software engineering, Python programming for particular classroom constraints, 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. We will also read articles on educational game development, game-based learning, and topics relevant to our discussions and project. These readings will be posted on sakai. 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.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:- 20% Individual assignments
- 15% Active participation during class time, team activities, CCCS classroom and teacher meetings
- 10% Blog journal of your reflection on your learning and learning challenges – regular, thoughtful entries; see Service Learning criteria
- 55% Project –
- 5% Phase 1: Information gathering and problem definition: clientmeeting: preparation, meeting, follow-up, reporting, requirements and PSSA analysis
- 10% Phase 2: Concept generation and selection: game ideas, storyboards, feedback, iteration, game idea selection
- 5% Phase 2: software design and management plan
- 10% Phase 3: Prototyping: alpha demoed at Udel and to teacher
- 10% Phase 4: Testing, revisions and beta version
- 10% Final product deliverable and project presentations to teachers, Udel faculty and staff
- 5% Peer Evaluation
Course Materials:
All project materials will be posted on the course website, sakai. or piazza.How to Increase your Learning in CISC 374
- Read the assigned readings and online documentation. Be proactive at finding successful strategies used by others to solve problems with programming with Python and Spyral. Use the internet-available resources as a reference during projects and for vocabulary and filling in the details of concepts covered in class and projects. The readings in this course are critical to your active participation in class meetings. Part of your grade is based on class participation. Besides, you should not expect to gain all understanding of the concepts from passively listening in the class periods alone.
- Speak up in class. This course is not meant to be a passive learning course, as it has been shown that the best learning occurs when the learner is an active participant, not a passive listener. Besides, classes are much more enjoyable when everyone actively participates!
- Take an active role in your group projects. Ask your group members to explain concepts you do not clearly understand, and share ideas among the group members. Meet regularly with your group.
- Seek help if you start to feel lost, ASAP. Take advantage of instructor and TA office hours. Ask questions of your group members and during class.
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).Class Times, Laptops, Phones, and Class Participation:
Class time is our chance to discuss as a group the ideas, challenges, and successes as you take on the design and development of a learning game for your client teacher groups and their students. Full class participation is key to getting as much as possible from that time. Laptops should be brought to class for some of the activities and presentations. They should remain closed when we are not using them for activities. Phones should be put away and silenced.Deadlines and Lateness:
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:
Grades will be posted electronically on sakai using Gradebook throughout the semester. Questions about accuracy of recorded grades should be addressed to me as soon as possible.
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 this web page. 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.