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

This schedule is subject to change throughout the semester.

Installing jGrasp     Running Checkstyle     Java API

Date Preparation Activity / Lab Homework
Aug 29
Aug 31
Sep 02
Chapter 1: The way of the program
Or Gaddis: Sections 1.1-1.6, 2.1-2.2
Video 1a: 10 minute tour of jGrasp
Video 1b: 1 minute AboutDr.Weikle
Act01 Introduction to CS149
Lab01 Robots counting rooms
Lab02 Unix commands and files
PA1: Basic Arithmetic
(due 09/09 at 11:00pm)
Sep 05
Sep 07
Sep 09
Chapter 2: Variables and operators
Video 2: Using the Scanner class
Act02 Arithmetic operations
Lab03 Style guide and Checkstyle
Lab04 Concatenation and types
Sep 12
Sep 14
Sep 16
Chapter 3: Input and output
Video 3: How to work remotely
Act03 Primitives vs references
Lab05 Formatting output in Java
Lab06 Testing via command line
PA2: Multiple Methods
(due 09/23 at 11:00pm)
Sep 19
Sep 21
Sep 23
Chapter 4: Void methods
Video 4: Introduction to methods
Act04 Methods and stack diagrams
Lab07 Writing and calling methods
Lab08 Debugging and tracing code
Sep 26
Sep 28
Sep 30
Sample Midterm #1
Tutorial: Language Basics
Review Chapters 1–4
Written Exam #1 (classroom)
Coding Exam #1 (in the lab)
Oct 03
Oct 05
Oct 07
Chapter 5: Conditionals and logic
Video 5: Introduction to decisions
Act05 Boolean expressions
Lab09 Program testing with JUnit
Lab10 Web-CAT submission system
PA3: Decisions and Logic
(due 10/14 at 11:00pm)
Oct 10
Oct 12
Oct 14
Chapter 6: Value methods
Video 6: How recursion works
Act06 Methods and recursion
Lab11 CodingBat code practice
Lab12 Recursive 2D graphics
Oct 17
Oct 19
Oct 21
Chapter 7: Loops
Video 7: Tracing code by hand
Act07 Loop structures
Lab13 Validation using do-while
Lab14 Practice with nested loops
PA4: Loops and Arrays
(tests due 10/21 at 11:00pm)
(code due 10/28 at 11:00pm)
Oct 24
Oct 26
Oct 28
Chapter 8: Arrays
Video 8: Introduction to arrays
Act08 Arrays and subscripts
Lab15 Processing array elements
Lab16 Computing basic statistics
Oct 31
Nov 02
Nov 04
Sample Midterm #2
Tutorial: Language Basics
Review Chapters 5–8
Written Exam #2 (classroom)
Coding Exam #2 (in the lab)
Nov 07
Nov 09
Nov 11
Chapter 9: Strings and things
Video 9: Java substring v2
Act09 String manipulation
Lab17 Getting started with Eclipse
Lab18 Final round of CodingBat
PA5: Numbers and Strings
(tests due 11/11 at 11:00pm)
(code due 11/18 at 11:00pm)

Tutorial: Numbers and Strings
Nov 14
Nov 16
Nov 18
Chapter 10: Objects
Video 10: Intro to objects in Java
Act10 Classes and UML
Lab19 Passing and returning objects
Lab20 Game design with Greenfoot
Nov 28
Nov 30
Dec 02
Chapter 11: Classes
Video 11: Memory Models
Act11 Drawing classes and objects
Lab21 Simulation of mutable objects
Lab22 Greenfoot media computation
PA6: Classes and Objects
(tests due 12/02 at 11:00pm)
(code due 12/09 at 11:00pm)

Tutorial: Classes and Objects
Dec 05
Dec 07
Dec 09
Chapter 12: Arrays of objects
Video 12: Summary of CS 149
Act12 Arrays of objects; for-each
Lab23 Class variables vs attributes
Lab24 Practice for the final exam
Dec 12
Dec 14
Dec 16
Sample Final Exam [Section 4] Final Exam 10:30–12:30
[Section 5] Final Exam 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.