Center For Creative Learning
stay informed
If you like what you see and want to hear about other projects as they come online, sign up to stay informed:
Name:
Email:
featured artist
audreydriver.net

 

meet our friends
If they've got a web site, and we love 'em, you'll find a link to them on the Friends Page
The Friends Page!
Featured Blogs
The Disassembly Line
Bacontarian
Mays Field


Allen Gunn
Instructor, Foothill College
Email: arg7149@fhda.edu

Howdy. Most folks call me gunner, and I teach Java and Web development at Foohill College. This includes CIS27A, CIS27B, and CIS27C (Java I/II/III), as well as COIN61 (Intro Web/HTML).

Java Curriculum Overview

I teach what I describe as "vocational Java", meaning that we focus on how Java is used in the workplace rather than dwelling on noodly theory and esoteric topics.

I cast Java as the wand of reason in a morality play that pits the evil twin forces of Marketing and Management against the noble corps of Engineering and their steadfast allies in Build/Integration, Quality Assurance (QA) and Documentation. I stress the human, social and political aspects of Java development in parallel with the technical details and programming concepts.

As a class, we learn how to apply Object-Oriented Analysis and Design (OOA/D) modeling techniques to properly abstract and encapsulate our models, thereby maintaining control of the software development process and insulating ourselves against the vagaries and whims of management and the market. This ain't your parents' "where to put the semi-colons" kind of programming class.

In the classroom, we operate as a de-facto engineering group, playing off each others' questions and insights. Students are strongly encouraged to talk to strangers and network with peers as they would in an actual Silicon Valley firm. The class format is always driven by learner questions; students know that it is their responsibility to ask a question whenever they are confused or unclear on a topic or point.

Class programming projects build incrementally across the quarter. In CIS27A/Java I, we build a banking model, starting with a simple "BankAccount" class that is then specialized into "CheckingAccount" and "SavingsAccount" classes. From there we construct a "Bank" class to store these account objects, as well as supporting "Customer" objects, "Transaction" lists, and even printing of "monthly statements".

In CIS27B/Java II, we code a fully interactive Swing "Draw" application, keeping the focus on software design process and OO modeling. Beginning from a simple "Shape" class, we review class hierarchies and class design as we create specialized types like "Rectangle" and "Oval". We construct a simple document model to store shape objects, utilizing the Java IO classes to stream data in and out of the application, and leveraging Java interfaces to generalize the interaction between the "ShapeDocument" and its contents. Finally, once the plumbing is done, we dive into Swing, learning Graphical User Interface (GUI) history and concepts before coding our clickin' draggin' menu-waggin' interactive drawing application.

Below are the "greensheets" for the CIS27A and CIS27B courses:

My introductory Web/HTML class is a study in guerrilla web design. We focus on substance rather than sizzle (Flash sites indeed being the demon spawn of the unholy Marketing/Management union). Our goal is to learn how to author the most effective site while expending the least amount of time and money.

Starting with basic HTML syntax and internet concepts, we explore all the core tags and constructs including tables, frames, and style sheets. We prepare ourselves to author fast-loading, clean-rendering sites that are easy to maintain and evolve.

Students are warned from the first class that their final project will entail identifying a real-world client who needs a web site, then building and delivering that site from scratch (popular client choices have included "my spouse/partner", "my dog", and "my yoga instructor").

Working from a requirements-driven process, each student identifies their client's audiences and goals, proposes and refines a site map, prototypes page designs and graphic look, and finally pours and publishes the site.

Below is the "greensheet" for the COIN61 course:

gunner @ Ruckus Tech Camp, 2002
gunner in dotcom land, 2000
Evil Uncle Al plays "In Jail" with Wonder Nephew
Live in the Lecture Hall, 2001
First Silicon Valley Gig, 1991
 

Creative Commons License Site content is licensed under a Creative Commons License

Privacy Policy · Hosted by Ghost Electricity