CS 149: Programming Fundamentals 
James Madison University, Fall 2018 Semester 

Exam #2 logistics and preparation

As a reminder, the midterm will consist of two parts (50 minutes each): a written exam on Tues, and a coding exam on Thursday. You are encouraged to study all previous activities and labs, textbook chapters and reading quizzes, and programming assignments. Solutions will NOT be posted for these practices.  This reference sheet will be provided for the coding exam only.

  1. image Sample Written Exam (Fall 2015)
  2. image Practice Coding Exam 2(Spring 2018) - Weikle(This is a second practice exam that is more array oriented).
  3. image Sample Coding Exam (Fall 2015)

IMPORTANT! For the 2015 classes, the chapter on strings was part of Exam 2 and the chapter on arrays was part of Exam 3. Thus you should expect more emphasis on array questions and coding problem 2  than on the string methods included in the sample exam bullet item 3.

Written Exam


Students will be able to...

  • Recognize vocabulary/concepts from Ch5-8.
  • Evaluate relational and conditional expressions.
  • Predict the output of simple recursive methods.
  • Trace by hand the values of variables in a loop.
  • Declare, instantiate, and assign arrays of integers.
  • Write methods that require loops and decisions.


  • This is a closed-book, closed-notes, no-calculator exam. Do not refer to any materials other than the exam itself.

  • Do not look at anyone else's exam. Do not talk to anyone but the instructor during the exam. Turn off all cell phones, etc.

  • Use the restroom and take care of personal needs before you arrive. If you need to leave during the exam, ask for permission.

Coding Exam


Students will be able to...

  • Meet any objectives from HW 5-8.
  • Compute stats over an array of doubles.
  • Write nested/chained if-else statements.
  • Use arrays and loops (for and while)


  • You must use a Linux lab machine and log in with  student. It's strongly recommended that you practice the sample exam in the lab so there will be no surprises on exam day.

  • During the exam, you may only access Autolab and the provided reference sheet.

  • You may only run the following programs: JGrasp,  DrJava (or other editor), a terminal, and a web browser. All windows should be arranged so that the instructor can see what you're doing.

  • The use of any pre-existing code (other than that provided as part of the exam), other documents/pages/sites, and/or other programs will be considered a violation of the Honor Code.

  • At the end of the exam, you will submit your code via https://autolab.cs.jmu.edu . You may not use Autolab for any other purpose (e.g., looking at code from prior assignments) during the exam.

Video Tutorial

Back to Top