Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CGT 215 Computer Graphics Programming
Summer Course Syllabus 2023

CGT 215 – Computer Graphics Programming I

This course provides a working knowledge of C/C++ and teaches how to write, compile, build, and debug programs. No prior programming experience is required. The principal objective of the course is to provide a working knowledge of programming fundamentals to computer graphics (CG) for use in future CG courses such as game design and development, visualization, simulation, mobile application development, animation and modeling, web programming, or other courses where programming is involved. As computer programming is an applied discipline, this course uses an active learning approach that minimizes passive lecture time in favor of extensive lab assignments, and independent reading and learning activities.

Prerequisites: none.

Course Supervisor:

Jeffrey Kesselman MS Mfa   W. McNelly Professor of Technology and Professor of Computer Science

Office: 365 Knoy Hall of Technology

Phone: 724 484 3728

Emaill: [email protected]

Web: http://kesselman.info

Learning Objectives

Write, develop, debug, test, and validate a C++ application

a) Know the syntax and semantics of statements in C++ and their function.

b) Apply C/C++ in solving basic programming tasks in computer graphics.

c) Know fundamental control patterns and the differences between them.

d) Apply those patterns in appropriate problem solving

Solve problems in interactive computer graphics by using computational thinking.

a) Apply C/C++ in solving problems in computer graphics

IMPORTANT About Assignments and Exercises:

1. Exercises and assignments are graded. Every exercise and assignment has a due date. Lte penalty is -5% for every full day it is late. (Weekends count as 1 day)

2. I will entertain incompletes ONLY for assignment 4 and ONLY for up to 4 weeks after the due date.

3. All assignments must be uploaded as a zip of your entire, buildable project directory. I recommend using 7-zip, a free zip utility available at https://7-zip.org

4. You must include a file called README at the root of your zip file that describes any functionality you want extra credit for or none will be awarded.

Topics (all items subject to revision)

 

Lesson Name

Activities

Asignment

1

Welcome

Brief  history of computing

Setup a dev environment

Exercise 1

2

C++ Syntax
Variables and Types

Writing a simple program

Exercise 2

3

More about Functions

Still more about functions

Create a function

Exercise 3

4

Operators and Expressions 1
Operators and Expressions 2

Packing Chickens

Exercise 4

5

Input and more types

Flow control 1

Flow Control 2

Factorial program

Assignment 1: Factorial
Due: Jun 26, 2022 11:59 PM

6

Classes 1
Classes 2

Sum a list of floats

Exercise 5

7

Classes 3
Sorting

 

Assignment 2: Bubble Sort

Due: Jun 29, 2022 11:59 PM

8

Images and Pixels

Show me an image

Exercise 6

9

Image Processing

 

Assignment 3: Image Compositing

Due: Jul 3, 2022 11:59 PM

 

10

Basic Physics

Bouncing Ball

Exercise 7

11

Using Lambdas (anonymous functions)

Using the onCollision hook

Exercise 8

12

Input and Moon Lander

Compile and run moon lander

Exercise 9

13

Balloon Buster 1

 

Assignment 4: Duck Hunter

Due: Jul 10, 2022 11:59 PM

14

Balloon Buster 2

 

 

15

Balloon Buster 3

 

 

16

Balloon Buster 4

 

 

· Texts and Supplies:

Microsoft Visual C++ 2022 on windows

(Its not the same program on the mac.)

· Evaluation and Assessment

Throughout the semester, for each activity, lab and project points will be accumulated. The percentage of total points earned versus the total possible points will determine your final semester grade.

Grading Scale

Grade Scale Notes or Prior Term’s Distribution

A+ 96 - 100 % % weighted score

A 93 - 95 % % weighted score

A- 90 - 92 % % weighted score

B+ 87 - 89 % % weighted score

B 83 - 86 % % weighted score

B- 80 - 82 % % weighted score

C+ 77 - 79 % % weighted score

C 73 - 76 % % weighted score

C- 70 - 72 % % weighted score

D+ 67 - 69 % % weighted score

D 60 - 66 % % weighted score

E not applicable given only under very extenuating circumstances

F 0 - 59 % % weighted score

I See policy.

W/WF See policy.

*Regardless of the above percentages, any student who completes less than 80% of the assigned work will receive an F for the course.

· Grade:

20% will be an average of your exercises
30% of your grade will be the average of the first 3 assignments

50% of your grade will be the final assignment (assignment 4);
Every code assignment will have a description of minimal functionality

Labs will be graded on the following rubrik:

50% Made an attempt to fully implement the described functionality that compiles and runs
50% Made an attempt to fully implement the described functionality that compiles and runs

              30% Correct execution, no bugs

              20% Complete documentation
              Up to 5% extra credit for going beyond the minimal functionality.
Extra credit is at the discretion of the grader and may only be earned on top of a 95%+ grade

· Summer Distance Course

· The course is provided via BrightSpace.

· All discussion about the projects is via piazza. The professor will answer the questions about 1x a day.

· Whoever wants can contribute to questions and correct and good answers will be awarded with up to 5% extra credit in their final grade tally..

· Each assignment is due 11:59pm of the assigned due date

Student Conduct and Policies

No derogatory comments about, or towards, any member of the class will be tolerated in any class period or online communication forum.

Students are expected to check their email and BrightSpace frequently throughout each day that the course is in session in order to receive any course announcements.

Homework questions should be posted to our Piazza (available as a Brightspace Tab.  I will have first responsibility for checking piazza daily.  Students can get up to a total of 5% extra credit for being the first to correctly answeri other students’ questions

CGT 215 is constantly being assessed for research and improvement purposes. Students will be asked several times throughout the semester for their input on various aspects of the course. Participation is typically rewarded with points, but not always.

Standards set by Purdue University as outlined in the Student Handbook and the University Regulations will be observed in this course. Students are expected to be present at each and every meeting of the class. In the event that a student must miss a class period, they must inform the supervising instructor of the course of their absence and NOT a teaching assistant (TA). Should the student not be able to reach the instructor they are to leave a message for him/her at their office with the secretary. Should circumstances not allow this, the student may contact the Dean of Students Office and explain their emergency. The Dean's office will then pass the word along to each of the student's professors for them. Upon your return to Purdue, contact the supervising instructor as soon as possible in order to make arrangements for work, handouts, quizzes, or tests that they may have missed. The supervising instructor has the final word on what work, etc. students may be allowed to make up. Every student has the right to appeal to the university any decision made by their supervising instructor.

Late assignments will not be accepted unless prior arrangements have been made with the Instructor and because of extreme circumstances. (Not coming to Lab, or forgetting, does not rate as an extreme circumstance.)  

No student will be allowed to make up any written exam, Lab practical, exam, or quiz unless they have an official or medical excuse.

Standards set by Purdue University as outlined in the Student Handbook and the University Regulations will be observed in this course. Any student found participating in cheating, work plagiarism, copying material from another person's disk, using illegal cribs or other materials during a written examination, lying to course instructors and lab assistants about his or her own, stealing tests, quizzes, or answer keys, and any such activities will be considered in conflict with the printed academic honesty guidelines as set out by Purdue University and the School of Technology. In such cases the matter will be reported to the Office of the Dean and the appropriate Purdue University administration officers for consideration and possible disciplinary action.

Students who have special needs, i.e. hearing or visually challenged, etc., or in need of tutoring, etc., may contact the Dean of Students Office located in Schleman Hall, Room 207, 494-1747 for further assistance.

This document shall be subject to minor revision as the need arises. Students will be informed of any and all changes as they occur.

Summer Distance Course

· The course is provided via BrightSpace.

· All discussion about the projects is via piazza. The TA will answer the questions about 1x a day.

· Whoever wants can contribute to questions and correct and good answers will be awarded by extra points.

· Each assignment is due the midnight before a new assignment is enabled (Usually Mod, We, and Fri)

Emergency Information

· In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances beyond the instructor’s control.   Here are ways to get information about changes in this course.

o Course Mailing List

o Professor’s Telephone: 765-494-2954

o Professor’s Email: [email protected]

· Students are encouraged to enroll at Secure Purdue for the university-wide emergency text message service: http://www.purdue.edu/securepurdue.

· Additional details are available on the CGT 215 Brightspace Home Page

Hardware

A standard IBM PC compatible computer using Windows 10.

Mac is acceptable but students must use Boot Camp to run MS Visual Studio

Software

Microsoft Visual C++

· Purdue’s Honor Pledge:

“As a boilermaker pursuing academic excellence, I pledge to be honest and true in all that I do. Accountable together - we are Purdue.”
See also: https://www.purdue.edu/provost/teachinglearning/honor-pledge.html 

· CAPS Information:

Purdue University is committed to advancing the mental health and well-being of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available. For help, such individuals should contact Counseling and Psychological Services (CAPS) at (765)494-6995 and http://www.purdue.edu/caps/ during and after hours, on weekends and holidays, or through its counselors physically located in the Purdue University Student Health Center (PUSH) during business hours.

· Course Policies

Attendance, Preparation, and Courtesy Expectations and Policies

1. The class will be delivered 50% virtual over Brightspace and 50% face-to-face over lecture (focus mainly on practical skills).  Since the content of the class has been divided to be delivered into two different formats, it is expected that the students will complete the materials delivered in Brightspace on their own time according to the schedule provided.  The instructor will not cover the virtual material during in-person instruction.  The materials delivered on Brightspace will replace the traditional lecture while the face-to-face components of the course will focus on practice, exercises, and teamwork.  It will be critical for the students to follow the schedule so they can ask questions and clarify doubts during in-person instruction.

2. Attendance (virtual or face-to-face) is essential.  Class lectures will assume that Brightspace reading assignments have been done, and as a result, virtual or face-to-face in class time will not cover the theoretical topics of the course, but instead will focus on practice and the application of concepts.  You are responsible for all material covered in Brightspace and in lecture.  In the event of absence, you are responsible for obtaining notes and assignments from fellow classmates.  Do not expect the instructor to provide this material on an individual basis.  Refer to the University Regulations handbook.

3. In the event of an extended absence (usually five days or longer), you should contact the Dean of Students Office to report the absence (The instructor determines what is considered an excused absence.)  Upon your return or before whenever possible, you must promptly contact your instructor to determine if and how missed work will be made up.

4. In the event that your instructor is not present when class is scheduled to begin, you are required to wait 15 minutes as a professional courtesy.  After that time, you may leave without any penalty.

5. If during this course, you experience a managerial problem with the conduct of the course (i.e. instructor not available during office hours, inappropriate teaching behavior, discrimination, etc.), you should follow the guidelines in the Student Handbook.  In general, first, you must go to the instructor with whom you are experiencing the problem. Next, go to the course manager. Finally, go to the department head.

Attendance Policy during COVID-19

1. We are back to full density classrooms. You are responsible to be in class Monday and Wednesday.

2. Students should stay home and contact the Protect Purdue Health Center (496-INFO) if they feel ill, have any symptoms associated with COVID-19, or suspect they have been exposed to the virus, and immediately inform the instructor of any conflict that can be anticipated and will affect the submission of an assignment or the ability to take an exam.

3. Attendance and class participation will be decoupled during the pandemic.  During normal instruction these two go hand in hand, but during the pandemic students will be able to still submit their weekly class participation at the end if every week via Brightspace. In the current context of COVID-19, in-person attendance will not be a factor in the final grade, but online class participation (submitted during in-class time, or at the end of the week) will be a factor in the final grades.

4. Only the instructor can excuse a student from a course requirement or responsibility or give extensions on deadlines (including class participation). For unanticipated or emergency conflict, when advance notification to an instructor is not possible, the student should contact the instructor as soon as possible by email or through Brightspace. When the student is unable to make direct contact with the instructor and is unable to leave word with the instructor’s department because of circumstances beyond the student’s control, and in cases of bereavement, quarantine, or isolation, the student or the student’s representative should contact the Office of the Dean of Students via email or phone at 765-494-1747. Our course Brightspace includes a link on Attendance and Grief Absence policies under the University Policies menu.

Add/Drop Expectations and Policies

1. According to CGT educational policy, this course may not be added to any student’s academic schedule after the end of the third week of a Fall or Spring semester (or equivalent for a Summer semester) except under very extenuating circumstances to be approved by the Assistant Department Head of Computer Technology. If you add the class late you have one week from the time you enroll to make up all missed work.  It is your responsibility to contact the lecture instructor and TA as to what you need to makeup and complete it within reasonable time (and not toward the end of the semester).

2. Withdrawals from this course are possible at any time; however, refer to the mortar board for published university withdrawal dates.  For students withdrawing after the deadline for withdrawing without a grade, grades will be based on overall course performance. It is the student’s responsibility to withdraw from this course.  Students who do not officially withdraw will be given an “F”.  Refer to the University Regulations handbook.

Labs and Projects

1. Labs are not optional.  Missed labs CANNOT be made up for any reason (will not be reopened on Brightspace). Missed quizzes will be given a grade of 30% if provided adequate justification.

2. Students who miss a lab must make arrangements with the instructor to complete that work within one (1) week of returning to class.  Failure to do so will result in a score of zero.  Students who miss the final examination (for a valid reason) will generally receive an incomplete ("I") course grade.  It is the student’s responsibility to promptly notify the instructor and provide documentation proving the reason for missing the exam.

3. Students missing the final project (for an unexcused reason) will receive a zero for the project and their grade will be calculated accordingly.

Homework, Project Milestones and Class Participation Policies and Quality Expectations

1. Electronic version of the Homework (or any deliverable) is due by 11:59 PM on the assigned due date via Brightspace.  

2. Homework or milestones should always be submitted as a single zip file.

3. Project milestones should be delivered electronically via Brightspace so the TA can provide detailed feedback.

4. LATE WORK:  Late homework will be penalized 20% per day, excluding weekends, University holidays, and University vacation periods.  Note that no coding assignments will be accepted late at all unless prior arrangement is made with the professor or TA

5. Always check your assignments for spelling and grammar. Points may be subtracted for mistakes.

6. Points will be subtracted for submitting poorly or improperly organized work, or for not following instructions.

7. Graded materials will be distributed by the TA during class or during his or her office hours.  Some materials, once reviewed by the students, should be returned to the TA.

Re-Grading Policies

1. It is the students' responsibility to keep track of their performance in the course.  The instructor's grades will be assumed to be accurate unless you can prove otherwise.  Always keep a digital copy of ALL work turned in to your instructor.  Any student wishing a re-grade must submit a written document indicating the specific section the student is requesting a re-grade of and a complete explanation (rationale) of why the student feels that they deserve a different grade.  Verbal re-grade requests will not be accepted! Re-grade requests must be made within two weeks of the students’ receipt of the graded material.  The instructor reserves the right to regrade the entire assignment and not just the specific portion in question.  Your grade may be raised or lowered by a regrade request.

2. According to University regulations, only final course grades can be “appealed.” There is a formal School of Technology and University timetable and process for grade appeals. It must be followed exactly! Questions about grade appeals should be directed to the Assistant Department Head of Computer Technology or the Chair of the School of Technology Grade Appeals Committee.

Academic Dishonesty (“Cheating”) Policies

1. Any student who cheats on an examination, Lab, quiz, project, or other deemed individual assignment or who assists another student in cheating during any of the above will have action taken by the course instructor and the action could be as severe as failing the course.  This will also apply for teams that cheat on their projects.  The case will also be forwarded to the Dean of Students for possible university action.  Cheating includes, but is not limited to, crib sheets, copying answers from another student, gaining unauthorized access to exams or answers, submitting any other person's work as your own, working together on any class work that has not been specifically authorized, submitting any previous semesters work, or other similar offenses.

Disabling Conditions

1. Any student who, because of a disabling condition, may require special arrangements in order to meet course requirements should contact the instructor by the third week of class in order to make necessary accommodations.  Students must work with the Dean of Students Office in order to receive special accommodations for this class.

2. Students requesting accomodated examinations must schedule all their exams one day before the exam takes place for the rest of the students during class time.

Classroom Guidance Regarding Protect Purdue

1. The Protect Purdue Plan, which includes the Protect Purdue Pledge, is campus policy and as such all members of the Purdue community must comply with the required health and safety guidelines. Required behaviors in this class include: staying home and contacting the Protect Purdue Health Center (496-INFO) if you feel ill or know you have been exposed to the virus, properly wearing a mask in classrooms and campus building, at all times (e.g., mask covers nose and mouth, no eating/drinking in the classroom), disinfecting desk/workspace prior to and after use, maintaining appropriate social distancing with peers and instructors (including when entering/exiting classrooms), refraining from moving furniture, avoiding shared use of personal items, maintaining robust hygiene (e.g., handwashing, disposal of tissues) prior to, during and after class, and following all safety directions from the instructor.

2. Students who are not engaging in these behaviors (e.g., wearing a mask) will be offered the opportunity to comply. If non-compliance continues, possible results include instructors asking the student to leave class and instructors dismissing the whole class. Students who do not comply with the required health behaviors are violating the University Code of Conduct and will be reported to the Dean of Students Office with sanctions ranging from educational requirements to dismissal from the university.

3. Any student who has substantial reason to believe that another person in a campus room (e.g., classroom) is threatening the safety of others by not complying (e.g., not wearing a mask) may leave the room without consequence. The student is encouraged to report the behavior to and discuss next steps with their instructor. Students also have the option of reporting the behavior to the Office of the Student Rights and Responsibilities. See also Purdue University Bill of Student Rights.

Academic Guidance in the Event of Quarantine/Isolation

1. If you become quarantined or isolated at any point in time during the semester, in addition to support from the Protect Purdue Health Center, you will also have access to an Academic Case Manager who can provide you academic support during this time. Your Academic Case Manager can be reached at [email protected] and will provide you with general guidelines/resources around communicating with your instructors, be available for academic support, and offer suggestions for how to be successful when learning remotely.

2. Importantly, if you find yourself too sick to progress in the course, notify your academic case manager and notify me via email or Brightspace. We will decide based on your particular situation. The Office of the Dean of Students ([email protected]) is also available to support you should this situation occur.

Continuous Improvement and Evaluation

1. The course instructor is committed to continuously improve the course. To monitor continuous improvement, the course instructor may collect and analyze de-identifiable data to evaluate changes performed every semester.

2. Research may be conducted in this course, involving normal educational practices, such as (i) research on regular and special educational instructional strategies, or (ii) research on the effectiveness of or the comparison among instructional techniques, curricula, or classroom management methods.

3. Before conducting any research study the course instructor will get approval from the Purdue's Institutional Review Board (IRB).

Prepare for Campus Emergency

1. If you hear fire alarm à immediately evacuate the building using the nearest exit

2. If you hear the hazards outdoor emergency warning siren à Immediately seek shelter (shelter in place) in the nearest facility or building

3. BE FAMILIAR WITH: Your Building Emergency Plan (BEP) (See Your Building Deputy or designated representative)

4. Purdue University Emergency Procedures: Guide: https://www.purdue.edu/emergency_preparedness/flipchart/index.html

5. Purdue ALERT--Emergency Warning Notification System: http://www.purdue.edu/emergency_preparedness/warning_system.htm

6. FOR MORE INFORMATION: Visit the Purdue Emergency Preparedness and Planning web site http://www.purdue.edu/emergency_preparedness/