View on GitHub

IGME 202

Interactive Media Development

Course Syllabus (2191)

Section ## – TBA

Please read this document carefully and bookmark it for future reference. It provides the context and structure which will guide all aspects of this course.

This is NOT the same syllabus as other sections of IMD. While most elements of the course will be very similar, they will not be identical.

Course Information

Course Description

In this course, students will learn to create visually rich interactive experiences. It is a course in programming graphics and media, but it is also a course on the relationship between ideas and code. Students will explore topics in math and physics by building programs that simulate and visualize processes in the natural world. Assignments will include major programming projects, such as building a virtual world inhabited by digital creatures that display observable behaviors.

Important RIT Deadlines

Texts and Materials

Course Topics

Topics we will cover the following concepts during this course include (but are not limited to):

Grade Organization

Category Weight
Practice Exercises 15%
Homework 20%
Group Project 20%
Exam 1 10%
Exam 2 15%
Final Exam 20%
Range Course Grade Grade Points
## >= 93% A 4
90% <= ## < 93% A- 3.667
87% <= ## < 90% B+ 3.333
83% <= ## < 87% B 3
80% <= ## < 83% B- 2.667
77% <= ## < 80% C+ 2.333
73% <= ## < 77% C 2
70% <= ## < 73% C- 1.667
60% <= ## < 70% D 1
## < 60% F 0

Course Organization

Practice Exercises (15%)

These are short, focused exercises designed to solidify concepts covered in class. You are usually given time in class to begin the exercise, as well as ask questions about the day’s topic. Occasionally, these may include written review sheets or study guides.

Submissions: To earn credit for a PE, 2 things must be done: you have uploaded your work to the appropriate MyCourses dropbox (as a single .zip file), AND you have shown and explained your completed PE to the instructor or teaching assistant. For review sheets or study guides, these must be turned in to the instructor during class on the due date.

Due Dates: If you do not finish the exercise during class, you must take the files home or to the IGM labs to complete the exercise. If you do finish before the end of the assigned class period and are caught up on other PE’s or homework assignments, you may leave early.

Unless otherwise stated, PE’s are always due on the next day we have class. PE’s must always be demonstrated as complete before the end of class on the due date. The corresponding code must be submitted as a zip file to the appropriate myCourses dropbox by 11:59pm on the due date.

Late Penalty: Late exercises, as determined by the upload date and time, will receive at most half-credit up to one-week after the original due date.

Homework (20%)

Periodically, you will have a homework assignment that explores some aspect of the course. These projects are integral, are generally more complicated, and take longer than PE’s. This work may be started in class, but is designed to be completed outside of the usual class hours. Homework assignments are always individual assignments. Working with other students on homework assignments will be considered academic dishonesty (this includes sharing code for help debugging via Discord).

Due Dates: The assignment must be uploaded to the appropriate MyCourses dropbox by 11:59 pm (Eastern time based on the MyCourses server) on the day it is due.

Submissions: Homework, like PE’s, must be submitted to MyCourses as a single .zip file containing all of your project files – not just the code. You may re-submit homework files as many times as you wish – for example, if you found an error after submitting. Only the most recent submission will be graded.

Late Penalty: Late homework assignments will lose 10 points per day. For example: if your program would have earned a 94, but it was submitted anywhere between 1 second and 24 hours late, you will receive an 84.

Exams (45%)

There will be three exams given during the semester to assess the student’s programming knowledge and skills. The breakdown of each exam and its weight is as follows:

Exam Composition:

Exams are composed of multiple parts:

Permitted During Exams:

Official C# language documentation from Microsoft is allowed. You are also allowed to create and bring one 3x5 inch index card as a “study sheet”. Your notes on the study sheet must be handwritten and you can use both sides of the card. It may be collected.

NOT Permitted During Exams:

Class notes, textbooks and most of the Internet (Google, Stack Overflow, etc.) are not allowed during exams, unless accommodations on record permit them and they have been previously discussed with the instructor. Usage of any non-permitted materials will result in the student earning a zero for the exam.

Missing Exams:

Missing an exam will result in a grade of zero unless you contact the instructor at least 24 hours in advance of the exam, or if there is an unavoidable emergency. Exam makeups are only permitted for serious situations such as illness, accidents, or deaths in the family. (Sleeping in or forgetting is not a valid excuse for a makeup!) I reserve the right to ask for medical documentation to determine if a makeup is acceptable. If you have a scheduled unavoidable conflict, contact me well ahead of time to reschedule your exam.

Participation

There is no explicit participation grade in this course. HOWEVER, missing class, not paying attention, not participating in the group project, etc. WILL impact your grade via an indirect impact on your ability to complete individual assignments/exams. In short, the more you participate, the more you will get out of this course.

Grading Policies

Grading Feedback:

It takes time to grade programming assignments - much more time than students expect. Programming assignments may take up to 3 weeks to be fully graded, and late submissions may take even longer.

Grade Challenges:

If you have a question about an assignment grade, please come see me during office hours. Grade challenges must be done in a timely manner, within a week of the return of an assignment grade. Remember that in challenging a grade, the instructor will revisit the grading on the entire assignment and may adjust the grade appropriately. This is mentioned not to discourage a student with a legitimate complaint over a grade, but to rather address the often blatant problem of “point weaseling” on assignments.

Extenuating Circumstances:

Sometimes stuff happens and I am willing to hear about your situation. If you are ill (either physical or mental illnesses) or you have any unavoidable and excusable conflicts, contact me ASAP. I will not honor excuses after the fact.

Incomplete Policy:

Incomplete (“I”) grades are reserved for cases in which the student is making credible course progress in more than half of the class material, and then a significant event occurs in the student’s life that prevents the completion of the course. Incomplete grades are not a mechanism to delay a failing grade nor are they a means to stave off probation or a suspension. Chances are, unless you are deployed in the military or have a major surgery or illness, I will not grant an incomplete.

Additional Policies

Classroom Etiquette:

Due to time constraints, it is important that you arrive at class each day prepared to work. Make sure that cell phones are turned off or on silent and stored out of sight. If there is an emergency or you are expecting an important phone call, please quietly take the call outside.

The computers are for following along with the lecture and doing work. We all love games, but don’t play games, surf Facebook or reddit, etc. It’s rude, not to mention disrespectful and distracting to other students.

Sleeping is for your bed, not class. If you are truly too tired to function, stay home that day (or become best friends with coffee).

Sickness:

I recommend staying home when you are sick. It’s far better to stay home and rest than to drag yourself to class. It’s also considerate to not spread any sickness you may have. If you are sick for more than a few days, you may want to contact the Health Center for an appointment.

Missing Class:

When class is missed, it is up to the student to make up work and to acquire any course materials. Absences in any form do not postpone due dates unless agreed upon by the instructor.

Email:

Please make sure to use only the email address noted at the top of the syllabus. I do have others associated with RIT, but I do NOT check them regularly!

All official communications should occur between your RIT email address and the faculty’s RIT email address. Please check your RIT email on a daily basis for important notifications. Furthermore, faculty will not be able to respond to requests that do not originate from an RIT email.

If you have a question or two about a topic or assignment, please email me about it. Always include a subject line and be sure to mention the class name and section. It’s also expected that you use complete sentences and punctuation. Please include a subject line in your emails. Sign your emails with your name. (Not all student names appear in the “from” section of the email client, and it’s difficult to decipher who meh9999 is.)

If you have a small section of code giving you issues, copy and paste it into an email. Do NOT email me your entire project and ask if I can fix it for you. If you are having a hard time with an assignment, come to my office hours (that’s why I have them!) or see one of the tutors. It’s much easier to discuss assignments and broken code in person.

Announcements and other messages may also be sent via email using the facilities for sending mass email available in myCourses. Since you may request re-grades of work only within a set period from the time that the feedback was provided to you, and course announcements could provide you with important information, it is in your best interest to read your RIT e-mail account daily.

Class Cancellation:

If class is canceled – I will contact you via email, place a note in our MyCourses section, and cancellation signs may appear on classroom doors. I will communicate explicit instructions for makeup work via email. It is recommended to check your email before class each day.

Notices of Accommodation:

If you have a “Notice of Accommodation”, you must discuss this with me within a week of starting this course. (I do receive these notices through email, but prefer that we discuss the nature of the accommodations.) If you don’t see me until later in the course, it will not be retroactive. (In other words, an NOA is not a license to retake an exam or other work that you have done poorly on.) For more information on disability services or accommodations, contact the Disability Services Office at http://www.rit.edu/dso.

Exam or classroom accommodations will not be provided to students without a proper documented Notice of Accommodation.

Social Networks:

I don’t friend current students on Facebook. I also don’t friend past students unless I personally know them well.

Name Preferences:

If you have a preferred first name and/or pronoun preference, please let me know either in class or by email so I can honor your preference. If you would like MyCourses and your RIT teachers to have your first name preference automatically known, you can change your first name preference through the Registrar’s office by completing the form and returning it to that office.

Succeeding in Class

Read fully.

Readings will be assigned from either the text or online sources. All assigned readings are mandatory. I highly recommend that you take notes as you read through the material. Some of the readings may ask you to try out small snippets of code; completing these will help you to understand the material.

Keep up with homework, practice exercises and study guides.

Most classes will have a corresponding assigned PE that may need to be completed outside of class time. Study guides allow you to practice both code and theory. Homework will complement what you are currently learning in the course. Learning programming occurs with repeated practice.

Take notes!

I highly recommend taking notes during class. Hand-written is best for many students, but the most important thing is that you capture your own thoughts and insights to go along with the course resources. While I will always provide electronic versions of lecture slides, in-class discussions and questions often lead to extra whiteboard examples and even live coding demos. You are responsible for taking notes on this material.

Save your work and have it available.

Class demonstrations and PE’s provide an example of how to solve a particular problem. Make sure to save all files from class and have them easily accessible every class period. At times, we may go back and work on these files during class.

Save your projects to your Google drive, a large flash drive, or other storage options. Be aware that external hard drives are mechanical and can easily corrupt your data if they are mishandled.

Check all communication daily.

Check your RIT email every day, and check MyCourses frequently for updates. Assignments, course examples, discussions, and other bits of information can pop up at any time.

Getting Help

Google.

Seriously. Searching the web is fantastic for getting a quick understanding of an error message, remembering the proper language syntax, and much more.

Email.

I will answer questions via email if you have a question or two about a topic or assignment. If your code isn’t working the way you intended, and if you have a small section of code giving you issues, copy and paste it into an email. Do not email me your entire project and ask if I can fix it for you or why it’s broken.

If you are having a hard time with a concept or assignment, come to my office hours, make an appointment, or see one of our tutors. It’s much easier to discuss assignments, theory, and broken code in person than email.

Office Hours.

I hold 4 walk-in office hours per week in my office. If you are unavailable during my office hours, contact me for an individual appointment. Appointments are dependent on my current schedule for the semester and vary day-to-day. I may not be able to accommodate day-of requests for appointments.

Having a list of questions prepared makes the best use of our time together and is helpful for me to see where you may need assistance. Be specific in your quest for assistance. “I don’t understand the 3 statements in a for loop” helps me to assist you better; “I don’t get loops” is not helpful for either of us. Bringing a laptop or a program on a flash drive is helpful for debugging.

Discord.

Use the course Discord server to post general questions and answers to help each other out. Both myself and our class TA will be available to answer questions, and may even post things on occasion. If you’re wondering something, chances are that your classmates are wondering too!

BUT do not share large sections of code via Discord. Posts such as “Please debug this” and “Here’s my solution” will be considered a violation of the academic integrity policy.

Advisors.

If you have general questions and you want to talk to someone other than myself or our teaching assistant, you can always make an appointment with a faculty advisor to discuss your issues.

IGM Tutors.

IGM employs student assistants who work as tutors in our open labs, with regular posted hours. Their job is to help you in understanding programming concepts, understanding the statements in the language, understanding the intent of the projects, and locating and solving bugs in your projects.

The tutors will not write the code for your projects, but they can help you to figure out how to do it yourself. Their hours are posted in all of the labs and online at https://www.rit.edu/gccis/igm/tutors

Other Channels for Help:

It is important to realize that there are number of general help avenues available on campus. The RIT Academic Support Center has several resources for students in terms of assistance with math, science, and writing skills. More information can be found here: http://www.rit.edu/studentaffairs/asc

Academic Integrity

Please review these policies on academic integrity:

The Department of Interactive Games and Media does not condone any form of academic dishonesty. Any act of improperly representing another person’s work as one’s own (or allowing someone else to represent your work as their own) is construed as an act of aca¬demic dishonesty. These acts include, but are not limited to, plagiarism in any form or use of information and materials not authorized by the instructor during an examination or for any assignment.

If a faculty member judges a student to be guilty of any form of academic dishonesty, the student will receive a FAILING GRADE FOR THE COURSE. Academic dishonesty involving the abuse of RIT computing facilities may result in the pursuit of more severe action.

If the student believes the action by the instructor to be incorrect or the penalty too severe, the faculty member will arrange to meet jointly with the student and with the faculty member’s immediate supervisor. If the matter cannot be resolved at this level, an appeal may be made to the GCCIS Academic Conduct Committee.

If the faculty member or the faculty member’s immediate supervisor feels that the alleged misconduct warrants more severe action than failure in the course, the case may be referred to the GCCIS Academic Conduct Committee. The Academic Conduct Committee can recommend further action to the dean of the student’s college including academic suspension or dismissal from the Institute.

The following definitions will be used to clarify and explain unacceptable conduct. This is not intended to be an exhaustive list of specific actions but a reasonable description to guide one’s actions.

CHEATING includes knowingly using, buying, stealing, transporting or soliciting in whole or part the contents of an administered/unadministered test, test key, homework solution, paper, project, software project or computer program, or any other assignment. It also includes using, accessing, altering, or gaining entry to information held in a computer account or disk owned by another.

COLLUSION means the unauthorized collaboration with another person in preparing written work or computer work (including electronic media) offered for credit. Final work submitted by a student must be substantially the work of that student. Collaboration on an assignment is expressly forbidden unless it is explicitly designated as a group project. When there is any doubt, a student should consult the instructor (NOT ANOTHER STUDENT) as to whether some action is considered collusion.

Whenever there is any question as to whether a particular action is considered academic dishonesty, the instructor should be consulted.

Gender Discrimination

RIT is committed to providing a safe learning environment, free of harassment and discrimination as articulated in our university policies located on our governance website. RIT’s policies require faculty to share information about incidents of gender based discrimination and harassment with RIT’s Title IX coordinator or deputy coordinators, regardless whether the incidents are stated to them in person or shared by students as part of their coursework.

If you have a concern related to gender-based discrimination and/or harassment and prefer to have a confidential discussion, assistance is available from one of RIT’s confidential resources on campus (listed below).

  1. The Center for Women & Gender: Campus Center Room 1760; 585-475-7464
  2. CARES (available 24 hours/7 days a week) Call or text 585-295-3533.
  3. RIT Student Health Center – August Health Center/1st floor; 585-475-2255.
  4. RIT Counseling Center - August Health Center /2nd floor - 2100; 585-475-2261.
  5. The Ombuds Office – Student Auxiliary Union/Room 1114; 585-475-7200 or 585-475-2876.
  6. The Center for Religious Life – Schmitt Interfaith Center/Rm1400; 585-475-2137.
  7. NTID Counseling & Academic Advising Services – 2nd Floor Lynden B. Johnson; 585-475-6468 (v), 585-286-4070 (vp).

RIT ADA Statement

RIT is committed to providing reasonable accommodations to students with disabilities. If you would like to request accommodations such as special seating or testing modifications due to a disability, please contact the Disability Services Office. It is located in the Student Alumni Union, Room 1150; the Web site is http://www.rit.edu/dso. After you receive accommodation approval, it is imperative that you speak with the instructor so that you can work out whatever arrangement is necessary.

Finally…

Any of the information in this syllabus is subject to change at any time.