CS 149: Introduction to Programming - Weikle
James Madison University, Fall 2017 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.

CS 149 Home     Java Tutor     Java API     Remote Access

Date Preparation Activity / Lab Homework
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
Installing JGrasp
Sep 05
Sep 07
Chapter 2: Variables and operators
Video 2: Using the Scanner class
Act02 Arithmetic
Lab03 Concatenation and types
Lab04 Style guide and Checkstyle
PA1: Input and Output
(quiz due 09/08 at 11:00pm)
(code due 09/15 at 11:00pm)
Sep 12
Sep 14
Chapter 3: Input and output
Video 3: Command line review
Act03 Data Types
Lab05 Formatting output in Java
Lab06 Testing via command line
Sep 19
Sep 21
Conditionals and logic
Video 4: Introduction to decisions
Act04 Boolean Logic
Lab07 Web-CAT submission system
Lab08 CodingBat
PA2: Decisions
(quiz due 09/25 at 11:00pm)
(code due 09/29 at 11:00pm)
Sep 26
Sep 28
Chapter 5: Methods and testing
Video 5: Introduction to methods
Act05 Methods
Lab09 Writing and calling methods
Lab10 Practice Coding Exam
Oct 03
Oct 05
Review Chapters 1–5
See also 1.1 and 1.2 of Princeton
Exam logistics and preparation
Written Exam #1 (classroom)
Coding Exam #1 (in the lab)
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
PA3: Methods and Testing
(quiz due 10/13 at 11:00pm)
(code due 10/20 at 11:00pm)
Oct 17
Oct 19
Chapter 7: Arrays and references
Video 7: Introduction to arrays
Act07 Arrays
Lab13 Processing array elements
Lab14 Computing basic statistics
Oct 24
Oct 26
Chapter 8: Recursive methods
Video 8: How recursion works
Act08 Recursion
Lab15 Tracing Code
Lab16 Recursive 2D graphics
PA4: Loops and Arrays
(quiz due 10/27 at 11:00pm)
(code due 11/03 at 11:00pm)

Tutorial: Numbers and Strings
Oct 31
Nov 02
Chapter 9: Immutable objects
Video 9: Java substring v2
Act09 Object-Oriented
Lab17 Getting started with Eclipse
Lab18 Final round of CodingBat
Nov 07
Nov 09
Review Chapters 6–9
Tutorial: Language Basics
Exam logistics and preparation
Written Exam #2 (classroom)
Coding Exam #2 (in the lab)
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
PA5: Classes and Objects
(quiz due 11/17 at 11:00pm)
(code due 12/01 at 11:00pm)

Tutorial: Classes and Objects
Nov 28
Nov 30
Chapter 11: Designing classes
Video 11: Memory Diagrams
Act11 Designing Classes
Lab21 Simulation of mutable objects
Lab22 Class variables vs attributes
Dec 05
Dec 07
Chapter 12: Arrays of objects
Video 12: Summary of CS 149
Act12 Arrays of Objects
Lab23 Greenfoot media computation (optional)
Lab24 Practice for the final exam - Coding
Prepare for the Final
Practice for the final exam - Written
Dec 12
Dec 14
Review Chapters 10–12
Finish PA4/PA5 Tutorials
[Section 8] Final Exam: Tues. Dec. 12 10:30–12:30
[Section 9] Final Exam: Thurs. Dec. 14 10:30–12:30

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