Programming Waiver Exams

Intro to Mobile & Web Development (JavaScript), Intro to Programming (C++), and Intro to Python Waiver Exams

Register by the First Day of Classes

*Registration details provided below. Test due dates are set on a rolling basis based on the date the student is provided access to the exam.

Students pursuing a major with programming requirements who have significant prior experience in JavaScript, C++, or Python may benefit from being placed into an advanced programming course. In order to determine a student's suitability to waive an introductory-level programming course, the College offers waiver exams for three courses:

  • CSI 120 Introduction to Mobile & Web Development (JavaScript)
  • CSI 140 Introduction to Programming (C++)
  • CSI 160 Introduction to Python

Exams include a test and programming tasks representative of the work involved in the course. Note that completing the programming tasks may take several hours, so only students who feel confident in their ability should attempt the waiver exam. Passing the exam requires an overall score of 80% or higher. Receiving a waiver does not provide the student with college credit but instead the ability to opt-out of an intro-level class in the specific programming language required by their program. For example, a student who passes the CSI 140 Intro to Programming waiver exam can immediately proceed to CSI 240 Advanced Programming.

Is a programming waiver exam right for me?

Determining whether you're a good candidate for a waiver exam will depend on your program, which programming language is required, and whether you have significant experience in that specific programming language. If you only have experience in a different programming language than the one required for your program, taking the waiver exam is not recommended.

Does your program require an introductory programming course?

Introductory programming courses are required for the following programs:

  • Applied Mathematics
  • Computer Science & Innovation
  • Game Programming
  • Computer Networking & Cybersecurity
  • Computer & Digital Forensics
  • Game Design
  • Data Analytics

Which introductory programming class is required for my program?

Majors that require programming courses:

  • Applied Mathematics
    • CSI 140 Intro to Programming (C++) OR
    • CSI 160 Intro to Python
  • Computer Science & Innovation
    • CSI 140 Intro to Programming (C++)
    • CSI 120 Intro to Mobile & Web Development (JavaScript)
  • Game Programming
    • CSI 140 Intro to Programming (C++)
  • Computer Networking & Cybersecurity
    • CSI 160 Intro to Python
  • Computer & Digital Forensics
    • CSI 160 Intro to Python
  • Game Design
    • CSI 140 Intro to Programming (C++) OR
    • CSI 160 Intro to Python
  • Data Analytics
    • CSI 160 Intro to Python


The following minors also have programming requirements:

  • Computer Science & Innovation
    • CSI 140 Intro to Programming (C++) OR
    • CSI 160 Intro to Python
  • Game Programming
    • CSI 140 Intro to Programming (C++)
  • Data Science
    • CSI 160 Intro to Python

How do I register for an exam?

If your major requires an introductory programming course, and if you have significant experience in that specific programming language and would like to discuss registering for a waiver exam, please email Brian Hall at hall@champlain.edu. Note, as mentioned above, because these waiver exams incorporate programming tasks, they will likely take you several hours to complete. They require language-specific knowledge and are not appropriate for students with experience in a programming language other than those required by your major.

What are Programming Waiver Exams And do I Need to Take Them?