Title: A Comprehensive Capstone Project In Computer Science I: Getting The Instant Message
1A Comprehensive Capstone Project In Computer
Science I Getting The (Instant) Message
April 13, 2007 Dr. Tim DeClue Department of
Computer and Information Sciences College of
Business and Computer Science Southwest Baptist
University
2Preview
- Background
- The CS1 Problem
- The Project
- Summary
3Fahrenheit to Celsius?
Code w/o Design
Lone Coders?
Bring it On!
BACKGROUND My Computer Science I Class, Fall 2006
4Background
- SBU
- COBACS
- CIS Department
- 60-70 majors
- CS CIS
- 4 faculty
- Course Organization
- Lecture/Lab
- Size
- Textbook and labs
- Netbeans IDE
5The Problem
- Students do not see a real world connection to
their software - Lack of relevance
- Students do not see need for design
- I can do this in my head
- Students do not want to work together esp. on
busy work - What do I need him/her for?
- Enjoyment, success and gender neutrality
- Why should I major in this if I dont enjoy it?
- Everyone else looks like they are getting it.
Ill just be quiet and drop after class (move on
syndrome) - Students are not reflecting or generalizing
- Compartmentalization
- What do you mean this is a typecast error? It
cant be. We finished that program a long time
ago
6The Solution
- Software should mirror a real-world application
- Instant messaging is relevant
- Make it big enough so design must be necessary,
not just additional - Multiple phases with pair trading
- Abstraction to deal with complexity
- Make it big so it requires teamwork to complete
- Complexity and size
- Use pair programming pair trading (project
memory) - Creates a need read and critique code written by
others - Must be achievable, enjoyable gender friendly
- Retention of majors
- Emphasize communication (gender neutrality)
- Must synthesize prior learning
- Generalization
- Capstone to maximize reflection
Phase 1
Team 1
Team 2
Team 3
7The Solution
- Software should mirror a real-world application
- Instant messaging is relevant
- Make it big enough so design must be necessary,
not just additional - Multiple phases with pair trading
- Abstraction to deal with complexity
- Make it big so it requires teamwork to complete
- Complexity and size
- Use pair programming pair trading (project
memory) - Creates a need read and critique code written by
others - Must be achievable, enjoyable gender friendly
- Retention of majors
- Emphasize communication (gender neutrality)
- Must synthesize prior learning
- Generalization
- Capstone to maximize reflection
Phase 2
Team 1
Team 2
Team 3
8The Solution
- Software should mirror a real-world application
- Instant messaging is relevant
- Make it big enough so design must be necessary,
not just additional - Multiple phases with pair trading
- Abstraction to deal with complexity
- Make it big so it requires teamwork to complete
- Complexity and size
- Use pair programming pair trading (project
memory) - Creates a need read and critique code written by
others - Must be achievable, enjoyable gender friendly
- Retention of majors
- Emphasize communication (gender neutrality)
- Must synthesize prior learning
- Generalization
- Capstone to maximize reflection
Phase 3
Team 1
Team 2
Team 3
9Course Design
Weeks 1-8 Fundamental Programming
Weeks 9-16 Synthesis Reflection
Conditionals Loops
Data Expressions
Intro to OOD GUI
Using Classes Objects
Writing Classes UML
Control Flow
10Course Design
Weeks 1-8 Fundamental Programming
Weeks 9-16 Synthesis Reflection
Conditionals Loops
Data Expressions
Intro to OOD GUI
Prep POC
Phase I
Phase II
Phase III
Debrief
Using Classes Objects
Writing Classes UML
Collections
Arrays
Exception Handling
Recursion
Inheritance, Polymorphism Sorting
Control Flow
11The Project
12The Proof of Concept (POC)
Two students reading and writing text
messages. WRITEs are done with a local text file
in a WWW accessible folder READs are done by
treating the file in another students WWW folder
as a URL
13Phase 1 UML
14Phase 2 UML
15Phase 3 GUI Front End Design
16Summary Reflection
- Survey supported purpose
- Students had to rely on design to address
complexity - Students had to rely on pair programmers (even if
their partner wasnt as proficient) - They were proud of their product
- Retention
- Only one student dropped the course, two
pre-engineering majors and one Math major
switched (or declared dble-mjr) in CS/CIS - Design needs to be improved if used again
17Questions