CS Academy Schedule

The goal of this year's academy is to provide an overview of both content and pedagogy for introductory programming courses and AP Computer Science. Throughout the week, we will review fundamental concepts and present a variety of teaching techniques. Each session will include time for reflection and discussion on how you can incorporate what you are learning into the classes you teach.

Most sessions will be held on the 2nd floor of the ISAT/CS building on the east side of JMU's campus. The primary check-in period is from 5:00 pm to 7:00 pm on Sunday, June 23rd at the Festival Conference and Student Center. Late arrivals and commuters may check in on Monday morning between 7:00 am and 8:00 am. Parking will be available in the C12 lot by Festival (no permit required).

Click the icons next to each session for slides, handouts, and other files.

Date Session Room Content Pedagogy
Monday, June 24th
8:30 - 10:00 Welcome, Introductions, Tools of the Trade
Chris Mayfield, JMU   Slides
Classroom Resources, Textbooks
(CSTA)
Poor Man's Clickers
10:30 - 12:00 CTA Opening KeynoteScott Lang
1:15 - 2:45

(pick one)
Teaching the Fundamentals with Scratch
Nathan Sprague, JMU   Slides

Visualizing Algorithms & Data Structures
Chris Fox, JMU   Notes
Linux Lab


Classroom
Control, Variables


Searching, Sorting
Creative Computing


Execution by Hand
3:15 - 4:45 POGIL and Peer Instruction   Notes   Activity
Ralph Grove, JMU and Chris Fox, JMU
Classroom Methods, Objects Memory Models
6:30 - 8:00 Graduate Session (CS 585)
Show and Tell: Non-Programming Activities
Chris Mayfield, JMU
Classroom Algorithms, Recursion Kinesthetic Learning
(CS Unplugged)
Tuesday, June 25th
8:30 - 10:00

(pick one)
Crash Course in Java
Nancy Harris, JMU   Prezi   Files

Nifty Assignments
David Bernstein, JMU   Files
Linux Lab


Mac Lab
Java Syntax


GUIs, Graphics
Pair Programming


Scaffolding
10:30 - 12:00 Test-Driven Development with JUnit
Ralph Grove, JMU   Files
Mac Lab Conditionals Unit Testing
1:15 - 2:45 Automatically Grading Assignments with Web-CAT
Stephen Edwards, Virginia Tech   Tutorial
Mac Lab Code Coverage Automated Grading
(Web-CAT)
3:15 - 4:45 How to Actively Recruit Girls into High School CS
Joanne Cohoon, UVA   Slides
Classroom Diversity
(CS Tapestry)
Recruitment, Retention
6:30 - 8:00 CTA Field TripsCrossKeys Vineyards  or  JMU Arboretum
Wednesday, June 26th
8:30 - 10:00

(pick one)
Crash Course in Python
Nathan Sprague, JMU   Slides

Python for Everyday Tasks
Florian Buchholz, JMU   Files   Regex
Linux Lab


Classroom
Python Syntax


Data Analysis
Turtle, Karel


Interactive Computing
10:30 - 12:00 Robotics Programming (Arduino, Finch)   Files
Kevin Giovanetti, JMU and Nancy Harris, JMU
Robo Lab Motivation Problem-Based Learning
1:15 - 2:45 Media Computation Using Pythy, the Online Python IDE
Tony Allevato, Virginia Tech   Tutorial
Linux Lab Arrays, Loops MediaComp
3:15 - 4:45 Android Development with App Inventor
Ria Galanos, Thomas Jefferson HS   Files
Linux Lab Mobile, GUIs Interactive Demo
6:30 - 8:00 Graduate Session (CS 585)
Open Mic Night: Games and Simulations
Chris Mayfield, JMU
Linux Lab Greenfoot, PyGame Game Design, Objects-First
Thursday, June 27th
8:30 - 10:00 Debugging Techniques and Static Analysis
Chris Mayfield, JMU   Links
Linux Lab Debuggers, Checkers Self-Guided Labs
10:30 - 12:00 Object-Oriented Design and Group Projects
Kinga Dobolyi, GMU   Slides
Linux Lab Abstraction, Inheritance Automated Grading
(Marmoset)
1:15 - 2:45 AP CS Principles and CS10K Community
Ann Drobnis, CRA   Slides
Classroom State of CS in K-12 Integrating Research
3:15 - 4:45 How to Prepare for the AP Exam
Ria Galanos, Thomas Jefferson HS   Slides   Map
Linux Lab Free Response Online Practice
(CodingBat, CodeLab)
5:30 - 7:30 CTA Picnic & Band
Friday, June 28th
8:30 - 10:00 CTA Closing Session   Video   Slides
10:30 - 12:00 Lessons Learned and Staying Connected
Panel of JMU CS Faculty
Classroom Where CS is Going
How to Stay Current
Peer Learning