Fall 2023 Teaching

CS 335 – Graphics and Multimedia



Time: MWF 3:00 pm – 3:50 pm
Location: Register course to know

Course Instructor: Dr. Abdullah-Al-Zubaer Imran
Office: 319 Marksbury
Office Hours: Wednesdays 9 am – 11 am, and by appointment.

Teaching Assistant: Matthew Wise
Location: Engineering Annex 2nd Floor
Office Hours: Thursdays 12 pm – 1 pm

Course Description:
This course focuses on the graphical human-machine interface, covering the principles of windowing systems, graphical interface design and implementation, and processing graphical data. There is an emphasis on medium-scale programming projects with graphical user interfaces using a high-level procedural programming language and concepts such as object-oriented design.

Course Outcomes:
Upon completion of this course, students will be able to:

  • Understand the principal technical elements of computer graphics, image processing, and user interface design
  • Build computer programs that manipulate images, use computer graphics operations, and provide a user interface
  • Learn Python programming and relevant packages for graphics and image processing
  • Comprehend the relevance and importance of computer graphics, image processing, and user interface design in the context of computer science as a vocation

Course prerequisite: CS 216 – Intro to Software Engineering Techniques.
Good to have: Familiarity with basic linear algebra and vector calculus, knowledge of programming at an intermediate level.

Required books:
There is no required textbook for CS 335.

Recommended books:

Course Schedule/Outline:

1.Aug 21: Course Introduction, Logistics, Expectations
Aug 23: Graphics Fundamentals
Aug 25: Python Programming – Part I
2.Aug 28: Python Programming – Part II
Aug 30: Python Programming – Part III
Sep 01: Python Programming – Part IV
3.Sep 04: No Lecture – Labor Day
Sep 06: Math Preview/Review – Part I
Sep 08: Math Preview/Review - Part II

Release of hw1
4.Sep 11: Math Preview/Review – Part III
Sep 13: GUI Elements
Sep 15: GUI Elements
5.Sep 18: Image Representations
Sep 20: 2D Transformations
Sep 22: 2D Transformations

hw1 due at 11:59 PM
6.Sep 25: Scan Conversion
Sep 27: Graphics Pipeline
Sep 29: 2D Viewing and Clipping
7.Oct 02: Projections
Oct 04: Curves
Oct 06: Supersampling

Release of hw2
8.Oct 09: Texture Mapping
Oct 11: Rendering
Oct 13: Interaction and Animation

Project Team Formation
9.Oct 16: Midterm Review
Oct 18: Midterm Exam
Oct 20: Image Processing Fundamentals

hw2 due at 11:59 PM
10.Oct 23: No Lecture – Fall Break
Oct 25: Image Processing in Python
Oct 27: Color Model

Project proposal due at 11:59 PM
11.Oct 30: Histogram: Image Neighborhood
Nov 01: Geometric Operations
Nov 03: Filtering and Interpolation

Release of hw3
12.Nov 06: Segmentation – Part I
Nov 08: Segmentation – Part II
Nov 10: Image Compression
13.Nov 13: Image Classification
Nov 15: UI/UX Design – Simplicity and Elegance
Nov 17: UI/UX Design – Human Factors

hw3 due at 11:59 PM
14.Nov 20: Project Review
Nov 22: No Lecture – Thanksgiving
Nov 24: No Lecture – Thanksgiving
15.Nov 27: Guest Lecture – Crowd Simulation
Nov 29: Project Demo Presentation
Dec 01: Project Demo Presentation

Project due at 11:59 PM
16.Dec 04: Prep Days – Final Exam Review
Dec 06: Guest Lecture – Artificial Life
Dec 08: No Lecture
17.Dec 11: Final Exam 

Course Activities:

  • Class performance (10%) – Class participation and activities
  • Assignments (30%) – three math/programming assignments
  • Team project (30%) – GUI application for graphics/image processing
  • Midterm (10%) – a written midterm exam
  • Final (20%) – a written final exam

Grading Scale:
After the final percentage grade is calculated, the following scale will be used to determine the final letter grade.

  • 90–100% (A)
  • 80–89% (B)
  • 70–79% (C)
  • 60–69% (D)
  • 0–59% (E)


Academic Integrity: Please strictly follow the Academic Offenses Rules (plagiarism, cheating, and falsification or misuse of academic records). Also, keep in mind that any copyrighted materials (e.g., images and other media), and published contents (e.g., academic papers, books, web sources, online tools) used in your submissions and project should be properly cited. Ideas from people other than your own (for the project—ideas from outside your group) should be acknowledged.

Generative AI Policy: GenAI tools such as ChatGPT may be used in this course for the purposes of pre-submission activities. However, students are responsible for submitting work that meets the assignment standards for quality and factual accuracy. Check Canvas page for more detailed instructions on this. If you have any questions or concerns about the policy, contact the instructor before submitting any assignments.

Late Policy: Late submissions of assignments will be subject to a 50% score penalty if you submit within 2 days after the deadline. A score of 0 will be given for any submissions after that. Late submissions will be accepted only for certain circumstances (e.g., medical) with proper evidence. Exceptions to this rule may be requested by providing appropriate documentation (e.g., medical) which will be considered at the discretion of the instructor.

Disability and Special Accommodation: Please let the instructor know of any needed accommodation in the first two weeks. Please also see Academic Accommodation for further assistance.

Academic Policy Statements, DEI, Resources Available to Students

Useful Resources: