CS 149: Introduction to Programming
James Madison University, Fall 2018 Semester

This schedule is subject to change throughout the course.
This schedule was developed from materials developed by Chris Mayfield and others in the JMU Computer Science Department.

Installing jGRASP     Java Tutor     Java API     Remote Access     Practice-It

Date Preparation Activity / Lab Homework
Aug 27
Aug 29
Aug 31
Chapter 1: Computer programming
Video 1: Tour of JGrasp (~10 min)
Act01 Introduction
Lab01 Building a Java program
Lab02 Unix tutorial for beginners
PA1: Input and Output
(quiz due 8/31 at 11:00pm)
(code due 9/7 at 11:00pm)
Sept 03
Sept 05
Sept 07
Chapter 2: Variables and operators
Video 2: Using the Scanner class
Act02 Arithmetic
Lab03 Concatenation and types
Lab04 Style guide and Checkstyle
Sept 10
Sept 12
Sept 14
Chapter 3: Input and output
Video 3: Command line review
Act03 Data Types
Lab05 Testing via command line
Lab06 Formatting output in Java
PA2: Methods and Testing
(quiz due 9/14 at 11:00pm)
(code due 9/21 at 11:00pm)
Sept 17
Sept 19
Sept 21
Chapter 4: Methods and testing
Video 4: Introduction to methods
Act04 Methods
Lab07 Writing and Calling Methods
Lab08 Program testing with JUnit
Sept 24
Sept 26
Sept 28
Review Chapters 1-4
See also 1.1 and 1.2 of Princeton
Exam logistics and preparation
Written Exam #1 (classroom)
Coding Exam #1 (in the lab)
 
Oct 1
Oct 3
Oct 5
Chapter 5: Conditionals and logic
Video 5: Introduction to decisions
Act05 Boolean Logic
Lab09 CodingBat practice problems
Lab10 Submission system and JUnit Practice
PA3: Decisions and Logic
(quiz due 10/5 at 11:00pm)
(code due 10/12 at 11:00pm)
Oct 8
Oct 10
Oct 12
Chapter 6: Loops and strings
Video 6: Tracing code by hand
Act06 Loops
Lab11 Validation using do-while
Lab12 Practice with nested loops
Oct 15
Oct 17
Oct 19
Chapter 7: Arrays and references
Video 7: Introduction to arrays
Act07 Arrays
Lab13 Processing array elements
Lab14 Computing basic statistics
PA4: Loops and Arrays
(tests due 10/19 at 11:00pm)
(code due 10/26 at 11:00pm)
Oct 22
Oct 24
Oct 26
Chapter 8: Recursive methods
Video 8: How recursion works
Act08 Recursion
Lab15 Debugging and tracing
Lab16 Houses (Method Review)
Oct 29
Oct 31
Nov 2
Review Chapters 5-8
Lesson: Language Basics
Exam logistics and preparation
Written Exam #2 (classroom)
Coding Exam #2 (in the lab)
 
Nov 5
Nov 7
Nov 9
Chapter 9: Immutable objects
Video 9: Java substring v2
Act09 Object-Oriented
Lab17 Getting started with Eclipse
Lab18 Final round of CodingBat
PA5: Strings, Classes and Objects (Coming)
(quiz due 11/16 at 11:00pm)
(code due 11/30 at 11:00pm)

  Lesson: Numbers and Strings  
Nov 12
Nov 14
Nov 16
Chapter 10: Mutable objects
Video 10: Intro to objects in Java
Act10 Classes and UML
Lab19 Passing and returning objects
Lab20 Game design with Greenfoot
Nov 19
Nov 21
Nov 23
Thanksgiving Break Thanksgiving Break
Nov 26
Nov 28
Nov 30
Chapter 11: Designing classes
Video 11: Memory Diagrams (if available)
Act11 Designing Classes
Lab21 Simulation of mutable objects
Lab22 Class variables vs attributes
Dec 3
Dec 5
Dec 7
Chapter 12: Arrays of objects
Video 12: Summary of CS 149 (if available)
Act12 Arrays of Objects
Lab23 Greenfoot media computation
FinalLab Final Exam Coding Practice Test
Dec 12
Dec 14
Dec 8-14
Review Chapters 9-12
Finish PA5 Tutorials
Exam logistics and preparation
Practice for the final exam
 
2018 Fall Exam Schedule
Sec 2: Fri. 12/14 10:30-12:30
Sec 3: Wed. 12/12 1:00-3:00

Unless otherwise noted, the materials on this website are freely available under the
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.