Software Development One
Spring 2014
Documents
- Syllabus and Schedule - Revised April 22, 2014
- Course Policies
- Academic Honesty
- Academic Calendar

Books
-
Java Foundations, second edition - by Lewis, DePasquale, and Chase
- Buy it used on Amazon.com
- Source code from the publisher's site
- Thinking in Java by Bruce Eckel - A great book. Download for free.
- Java Language and Virtual Machine Specifications
- Code Complete by Steve McConnell - Read this!
- Beautiful Code by Andy Oram & Greg Wilson
- Coders at Work by Peter Seibel
Assignments
Code
- Simple Game in JavaScript v1 - January 23 lab - Reviewing JavaScript
- Simple Game v1 in Java - January 24 class - Getting started in Java
- Simple Game v2 in Java - January 28 class - Now with a game loop and input!
- Simple Game v3 in Java - February 4 before class - Now with arrays!
- Simple Game v3 in Java - February 4 after class - 2D-arrays and TODOs for next lab
- Simple Game v4 in Java - February 6 lab - 2D-array for better navigation code
- Simple Game v5 with Locale class - February 7 class - Introducing the Locale class
- Simple Game v6 with Locale class - February 11 class - Gameplay enhancements
- Simple Game v7 with Locale class and Space subclass - February 14 class - Space!!!
- Simple Game in JavaScript v2 - February 14 class - Prototypes
- Simple Game v8 with Locale class and Space subclass - February 18 class - Exception handling
- Game, Locale, Space, List0, and ListItem - February 21 class - The beginnings of a linked list
- ListMan v1, ListItem, and ListTester - February 25 class - Linked List example
- ListMan v2, ListItem, and ListTester - February 27 lab - Enhanced ListMan
- ListMan v3, ListItem, and ListTester - February 28 class - Enhanced ListMan and reading items from a text file
- ListTester with Sequential Search - March 4 class - Linear Searching a Linked List
- ListTester, now using an array too - March 7 class - Reading from a file into a linked list and into array.
- ListTester with Selection Sort and ListMan v6 - April 1 class
- ListTester with Binary Search - April 4 class
- StackTester v1 and Stack v1 - April 22 class
- StackTester v2 and Stack v2 - April 25 class
- QueueTester and Queue - April 29 class

Resources
- C
- How to Program a Text Adventure in C
- Java
- IntelliJ IDEA
- Virual Studio Code
- NetBeans
- Eclipse
- Debugging Java in IntelliJ IDEA
- Debugging Java in Visual Studio Code
Sun'sOracle's Java Documentation- Oracle's "New to Java Programming" Center
- Java tutorials
- Java Coffee Break - Getting started
- The Java tag at Stack Overflow
- Memory usage in Java
- JVM Anatomy Quarks
- JVM Internals
- A JVM Does That? by Cliff Click
- JavaScript
- JavaScript is Good, Actually - Well... modern JavaScript is.
- A Re-introduction to JavaScript
- JavaScript Style Guides
- The jQuery JavaScript Style Guide
- Some JavaScript code conventions - from Doug Crockford
- More JavaScript code conventions - from many people, managed via Git
- JavaScript: The Good Parts - by Doug Crockford
- The JavaScript tag at Stack Overflow
- The JavaScript tag at Pro Webmasters Stack Exchange
- JavaScript Keyboard Events Madness
- Treant.js - a JavaScipt library for tree diagram visualizations
- Write Tetris in JavaScript
- HTML5
- Introduction to HTML
- Some Cool HTML 5 Features
- W3C HTML Validator
- Mozilla Canvas Tutorial
- HTML5 Web Storage Specification
- Dive into HTML5 Local Storage
- HTML 5 Local Storage Overview
- Introduction to HTML5 Web Storage
- The HTML tags at Stack Overflow
- The HTML5 and Database tags at Stack Overflow
- The HTML tag at Pro Webmasters Stack Exchange
- Git
- GitHub Desktop
- A Gentle Introduction to Git and GitHub from Alan
- Git from the Bottom up by John Wiegley
- Git Basics
- Try Github
- GitHub Guides
- Advanced: Git From the Inside Out
- Visualizing Git Concepts
- How to Write a Git Commit Message - pretty good advice
- The Issues Feature on GitHub
- Dangers of GitHub and Amazon
- Algorithms
- Algorithm Visualizations - VisuAlgo, from Dr. Steven Halim and some of his students from the National University of Singapore
- Visualizing Algorithms by Mike Bostock, creator of d3
- Sorting Algorithm Animations - Visual demos by David R. Martin
- The Sound of Sorting - Sorting Algorithm Audibilization and Visualization, by Timo Bingmann
- Data Structure Visualization Tool from David Galles
- Alan's Algorithms Course
- Software Development
- Software Engineering at Google a book by Abseil
- Ideas about Software Development - 6 years later
- Software Development Developments at Microsoft
- Exploding Software Engineering Myths - more from Microsoft Research
- A Microsoft Code Review - with Marist alum Jon Miller
- A big list of naughty strings - Great for testing
- Comments on Comments
-
Great books about writing software
- Code Complete by Steve McConnell
- Beautiful Code by Andy Oram & Greg Wilson
- Coders at Work by Peter Seibel

- History
- A Brief History of the Internet
- A Brief History of Web Browsers
- Zork and Infocom
- History of Zork
- Play ZORK online
- Play a bunch of Infocom Adventures online
- The Story of Infocom from MIT
- A Long History of Infocom from MIT
- Adventure Classic Gaming
- Writing Interactive Fiction
- Author Guide
- Author Guide Supplemental one
- Author Guide Supplemental two
- History of Interactive Fiction
- LAMP Links
- Brass Lantern
- GET LAMP - Before the first-person shooter, there was the second-person thinker.
I reserve the copyright for all parts of my courses.
Commercial reproduction of any course material, including lecture notes
taken by students, without my EXPRESS WRITTEN consent, is prohibited.
Seriously.