JMU logo


This is the website for the Fall 2016 offering of CS149 (Intro the Programming Fundamentals) at James Madison University. Specifically, this is the website for section 0006 taught by Alvin Chao


Due this week(Week 14):

Due this week(Week 13):

  • Tues Nov 28th 8am Reading Quiz Chp 11[Canvas]
  • Wed Nov 29th 11:59pm Lab 21[Canvas]
  • Fri Dec 2 11:59pm Lab 22[Canvas]

Due this week(Week 12):

  • Mon Nov 14th 11:59pm PA5A Tests for PA5[webcat]
  • Tues Nov 15th 8:00am Reading Quiz Chp 10[Canvas]
  • Wed Nov 16th 11:59pm Lab 19[Canvas]
  • Fri Nov 18th 11:59pm Lab 20[Canvas]
  • Fri Nov 18th 11:59pm PA5B[Webcat]

Due this week(Week 11):

  • Tues Nov 8th 11:00pm Reading Quiz Chp 9[Canvas]
  • Wed Nov 9th 11:59pm Lab 17[Webcat]
  • Wed Nov 9th 11:59pm Exam2 Coding Resubmission.
  • Fri Nov 11th 11:59pm Lab 18[Coding Bat, Webcat Extra Credit]

Due this week(Week 10):

Exam2 - Practice exam - this page has details for the two portions of the exam on Tues 11-1 and Thu 11-3

Submission example created to walk through a perfect submission so you know what we expect for exam and PA's.

Due this week(Week 9):

  • Tues Oct 25th 8:00am Ready Quiz Chp 8[Canvas]
  • Wed Oct 26th 11:59pm Lab 15 ArrayPlay[Webcat]
  • Fri Oct 28th 11:59pm Lab 16 
  • Fri Oct 28th PA4-B ArrayElection [Webcat]

Next week Midterm 2 written Tues, Coding Thursday

Due this week(Week 8):

  • Tues Oct 18th 8:00am Reading Quiz Chp 7[Canvas]
  • Wed Oct 19th 11:59pm Lab12[Canvas]
  • Fri Oct 21 11:59pm Lab 13[Canvas]

Next Week Chp 8 Reading Quiz

Due this week(Week 7):

  • Tues Oct 11th 8:00am Reading Quiz Chp 6[Canvas]
  • Tues Oct 11th 11:59pm - PA3-A Quiz[Canvas]
  • Tues Oct 11th 11:59pm - PA3-B JUnit Tests[Webcat]
  • Wed Oct 12th 11:59pm - Coding Bat Lab 11[Coding Bat]
  • Fri Oct 13th 11:59pm - Lab 12 Recursive 2D Graphics[Webcat]
  • Fri Oct 13th 11:59pm - PA3-C Coding[Webcat]

Due this week(Week 6):

  • Tuesday Oct 4th 8:00am
    • [Canvas] Reading Quiz Chp 5
    • Watch video for decision structures
  • Wed Oct 5th 11:59pm
    • [Webcat] Lab 9 JUnit Lab
  • Fri Oct 7th 11:59pm
    • [Webcat] Lab 10 If-Then-Else Lab

Due this week(Week5):

Practice exam is available here: 

Walk-through coding method example for exam review is here:

  • Tuesday Sep 27 9:15am
    • [Canvas] exam written portion taken in Canvas
  • The Sep 29 9:15am
    • [Webcat/Canvas] exam coding portion.

Due this week(Week4):

  • BY TUES SEP 20 8:00am
    • [CANVAS] Reading Quiz Chp 4
    • Watch Methods Video
  • BY WED SEP 21 11:59pm
    • [CANVAS] PA2-A quiz
    • [WEBCAT] Lab7 - Circle Play
  • BY FRI SEP 23 11:59pm
    • [WEBCAT] PA2-B
    • [WEBCAT] Lab 8

Due this week(week3):

  • BY Tues Sept 13 8:00am
    • [CANVAS] Reading quiz Chp 3 Think Java
  • BY Wed Sept 14 11:59pm
    • Lab 5 [CANVAS]
  • BY Fri Sept 16 11:59pm
    • Lab 6 [Webcat]

Due this week(week2):

  • BY Tues Sept 6th 8:00 am
    • [CANVAS] Reading quiz Chp 2 Think Java  / watch Scanner Class video
  • BY Wed Sept 7th 11:59pm
    • [Lab 2B, Lab 3] 
  • BY Thu Sept 8th 11:59pm
    • PA-1A quiz in CANVAS
  • BY FRI Sept 9th 11:59pm
    • Lab 4
    • Programming Assignment 1

Due this week(week1):

  • BY WED AUG 31 11:59pm
    • [CANVAS] Course Intro Survey - Wed Aug 31 11:59pm
    • Lab word of the day - Wed Aug 31 11:59pm - bash for those who were in class - in the future do not get this from your classmates, only me if you forgot it from class.  
    • Lab submission to Canvas for Lab01.txt  - turn in what you have done by Wed midnight.
  • THU SEP 1 8:00am
    • Reading Quiz for Chapter 1 of Think Java  - Thu Sep 1 8:00 am
  • FRI SEP 2 11:59pm
    • Lab02A - Webcat submission - I'm postponing the Lab2B portion since not everyone got to that well.  We will work on that in class some on Tuesday.


  • Welcome Message!
    • Meeting in ISAT 143 for first class as well as all others - never go to the other classroom.
    • Text for class listed on syllabus page.
    • Please login to Canvas and complete the course intro survey and through Canvas.  Also log into Piazza from the left nav bar item.

The class meets Tuesdays and Thursdays, starting Tues Aug 30 and ending Thur December 16th. Class meets in ISAT 143 or ISAT 246(we will probably never meet in this room). Please visit the calendar for the week-to-week assignments. 

My Office Locations

Office hours (ISAT 264):  Tues 9:30-10:30
Thu  9:30-10:30

You may schedule an appointment for other times that are not listed to visit my Massanutten 293 office(540)-568-6206

Please use the links to the left to navigate the website. Important announcements will be posted on this front page. Other course content will appear on the subpages linked above. Please check this website (especially the front page and calendar) regularly for updates. 


This semester, we will be using Piazza for class discussions. If you have a question that may be of general interest to your fellow students, please post it on Piazza rather than emailing me directly. This allows others to answer your question or benefit from my answer. I will check the Piazza forum regularly and respond as quickly as I can. To access Piazza, log into Canvas and click the "Piazza" link in the navigation bar on the left. 

Class grades will be accessible via Canvas, and online quizzes will be administered using Canvas as well. 

Contact chaoaj[at] for more information about this page or Twitter: @chaoaj