a comprehensive capstone project in computer science i: getting the (instant) message

17
A 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

Upload: leora

Post on 25-Jan-2016

38 views

Category:

Documents


1 download

DESCRIPTION

A 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. Preview. Background The CS1 Problem The Project - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

A Comprehensive Capstone Project In Computer Science I: Getting The (Instant)

Message

April 13, 2007Dr. Tim DeClueDepartment of Computer and Information SciencesCollege of Business and Computer ScienceSouthwest Baptist University

Page 2: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

Preview

Background The CS1 Problem The Project Summary

Page 3: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

Fahrenheit to Celsius?

Code w/oDesign

LoneCoders?

Bring itOn!

BACKGROUND: My Computer Science I Class, Fall 2006

Page 4: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

Background

SBU COBACS CIS Department

– 60-70 majors – CS & CIS– 4+ faculty

Course Organization– Lecture/Lab– Size– Textbook and labs– Netbeans IDE

Page 5: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

The 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 don’t enjoy it?– Everyone else looks like they are getting it. I’ll 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 can’t be. We

finished that program a long time ago…”

Page 6: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

The 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

Team 1

Team 2

Team 3

Phase 1

Page 7: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

The 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

Team 1

Team 2

Team 3

Phase 2

Page 8: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

The 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

Team 1

Team 2

Team 3

Phase 3

Page 9: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

Course Design

Weeks 1-8Fundamental Programming

Data &Expressions

Using

Classes &

ObjectsWritingClasses& UML

Conditionals& Loops

Intro to OOD

& GUI

Weeks 9-16Synthesis & Reflection

Control Flow

Page 10: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

Course Design

Weeks 1-8Fundamental Programming

Data &Expressions

Using

Classes &

ObjectsWritingClasses& UML

Conditionals& Loops

Intro to OOD

& GUI

Weeks 9-16Synthesis & Reflection

Control Flow

Pre

p &

PO

C

Pha

se I

Pha

se II

Pha

se II

I

Deb

rief

Arrays

Inheritance,

Polymorphism

& Sorting

ExceptionHandling Recursion

Collections

Page 11: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

The Project

Phase I

File I/OPOC

LoopingExceptions

Pair-Programming

Phase II

A buddy list

ArraysSorting &SearchingInterfaces

Phase III

GUIFront End

GUI ComponentsTesting

Two Weeks Two WeeksTwo Weeks

Page 12: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

Student 123456

Student 121212

message.txt message.txt

WriteWriteRead

Read

Two students reading and writing text messages.

WRITEs are done with a local text file in a WWW accessible folderREADs are done by treating the file in another student’s WWW folder as a URL

The Proof of Concept (POC)

Page 13: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

MessageSystem

+ main(String [] args):void//Manage the user interface

MessageStream

+ MessageStream (buddy : String)//Creates a message stream with a buddy

+ send (message: String) : void//Sends a message by writing to message.txt

+ read (): String//Returns a read message as a String

MessageFormatter

+ MessageFormatter ()//Creates a default message formatter

+ MessageFormatter (lineLength: int) : void//Will break a string into lines of lineLength

+ showMessage (message: String)//Displays message with lines of lineLength

- buddy : Stringuses

uses

Phase 1 UML

Page 14: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

MessageSystem

+ main(String [] args):void//Manage the user interface

MessageStream

+ MessageStream (buddy : String)//Creates a message stream with a buddy

+ send (message: String) : void//Sends a message by writing to message.txt

+ read (): String//Returns a read message as a String

MessageFormatter

+ MessageFormatter ()//Creates a default message formatter

+ MessageFormatter (lineLength: int) : void//Will break a string into lines of lineLength

+ showMessage (message: String)//Displays message with lines of lineLength

- buddy : String

uses

uses

BuddyList

-buddyList [] : MessageStream

+ BuddyList()//Creates an empty buddy list

+ save () : void//Writes buddylist info to a file

+ showMessage (message: String)//Displays message with lines of lineLength

uses

Phase 2 UML

Page 15: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

SBUIMS

Yes…I think so

123456232323454566

Send

Buddies

AddBuddy

123456 Says: Hey, what’s up?Not much…how ‘bout you?123456 Says: I’m hungry…how bout lunch?OK! Sounds good to me!232323 Says: Did Dr. DeClue post the assignment yet?Yes…I think so

232323

Current buddy

Phase 3: GUI Front End Design

Page 16: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

Summary & Reflection

Survey supported purpose– Students had to rely on design to address complexity– Students had to rely on pair programmers (even if their

partner wasn’t 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

Page 17: A Comprehensive Capstone Project In Computer Science I: Getting The (Instant) Message

April 13, 2007 CCSC-Central Plains Region

Questions