Cal Poly Logo
David Janzen 
C a l i f o r n i a   P o l y t e c h n i c   S t a t e   U n i v e r s i t y  
David Janzen Home >



David Janzen

Associate Professor
California Polytechnic State University
Computer Science Department
San Luis Obispo, California
Email: djanzen (at) calpoly.edu
Phone: (805)756-2929
Office: 14-212


President and Principal Consultant/Trainer
Simex LLC
Morro Bay, CA

News::

I may be teaching the 409 Android course during summer 2010. If you are interested, email me and let me know the following: your name, could you take 409 on-campus?, do you have an Android phone?

I published a new app in that Android Market called Advent Devotions. It is pretty simple, but appropriate for the season.

I completed my first Android app called Campus Maps.

I will be teaching a class on developing mobile applications for Google's Android in Winter 2010. Dr. Chris Lupo and I were awarded a Google Research Award to support developing this course and Chris' CPE Capstone.

Check out the 1st International Workshop on Test-Driven Development.

I was awarded an NSF CCLI grant titled "Test-Driven Learning with WebIDE." Dr. John Clements is my co-PI.

Office Hours::Winter 2010

Monday: 1:10-2pm
Tuesday: 12:30-3:30pm
Friday: 1:10-2pm

Furlough Days::Winter 2010

I will not be in the office the following days due to mandatory furloughs:
January 19 and 29, February 8 and 16, and March 1 and 9

Courses::

Winter 2010: CSC/CPE 409 Android Application Development
Winter 2010: CSC/CPE 405 Software Construction
Fall 2009: CSC/CPE 402 Software Requirements Engineering (SE Capstone)
Spring 2009: CSC/CPE 406 Software Deployment
Spring 2009: CSC 509 Software Engineering II
Winter 2009: CSC/CPE 405 Software Construction
Winter 2009: CSC 508 Software Engineering I
Fall 2008: CSC/CPE 402 Software Requirements Engineering
Spring 2008: CSC/CPE 307 Intro to Software Engineering
Spring 2008: CSC/CPE 406 Software Deployment
Winter 2008: CSC/CPE 405 Software Construction
Winter 2008: CSC 509 Software Engineering II
Fall 2007: CSC/CPE 402 Software Requirements Engineering
Fall 2007: CSC 508 Software Engineering I
Spring 2007: CSC/CPE 307 Intro to Software Engineering
Spring 2007: CSC/CPE 406 Software Deployment
Winter 2007: CSC/CPE 405 Software Construction
Fall 2006: CSC/CPE 402 Software Requirements Engineering

Software Engineering Capstone::

The SE Capstone consists of three courses over an academic year:
CSC 402 Software Requirements Engineering (Fall)
CSC 405 Software Construction (Winter)
CSC 406 Software Deployment (Spring)

Three or four teams of four to six upper-level undergraduate students each develop the same system for an industrial sponsor. The industrial sponsor serves as the business customer, establishing requirements and acceptance criteria in consultation with the Cal Poly faculty. While the courses include typical academic activities such as lectures, readings, and exams, the capstone project is the focal point and primary outcome.

Students interested in participating in the SE Capstone should have completed the prerequisites of CSC 305, 308, and 309.

Research Interests::

  • Empirical Software Engineering
  • Agile Methods
  • Test-Driven Development
  • Object-Oriented Systems
  • Design Patterns
  • Software Metrics
  • Computer Science, Software Engineering, and Information Systems Pedagogy

Research Projects::

  • Test-Driven Learning with WebIDE (sponsored by NSF)
  • Android at Cal Poly (sponsored by Google)
  • WebIDE (sponsored in part by Chevron)
  • Software Engineering Evidence Database (SEEDS)
  • Test-Driven Learning: Pedagogical Patterns for Introducing Test-Driven Development in Early Programming Courses (sponsored by Lockheed Martin)
  • Assessing the impacts of Test-Driven Development on Internal Software Quality

Selected Publications::


Student Research::

I think the best senior project and masters thesis topics are the ones that a student comes up with on their own. However, I have plenty of ideas to offer on a range of topics. If you want to talk through some possibilities, feel free to come by during office hours, or better yet, send me an email to schedule a time.

M.S. Guidelines

Senior Project Guidelines

Get your own Trac Wiki with SVN for your senior project by following the instructions here.

2009-2010 Cal Poly Student Research:

  • James Reed (MS): Android Courseware
  • Jay Schultz (SP): iPhone app
  • Alex Andresen (SP): Social Web Browser
  • Adam Deets (SP): Social Web Browser
  • David Giamanco (SP): Social Web Browser
  • Nathan Tsoi (SP): Social Web Browser
  • Tyler Charlesworth (SP): ePortfolio
  • Brad Barbee (SP): Conveyance Builder

2008-2009 Cal Poly Student Research:

  • Daniel Jackson (MS): title coming, topic: Software Metrics for Adobe Flex
  • Kevin Carr (SP): web-based music composition
  • Manuel Garcia (SP): web-based IDE
  • Lee Ching (SP): music composition
  • Ming Liu (SP): framework for multimedia civil engineering labs and simulations
  • Yeongshnn Ong (SP): "Geographic Based Survey Framework"

2007-2008 Cal Poly Student Research:

  • Chetan Desai (MS): "A Pedagogical Approach to Introducing Test-Driven Development"
  • Christopher Gray (MS): "A Coupling-Complexity Metric Suite for Predicting Software Quality"
  • Adam Dukovich (MS): "Design Patterns go to Hollywood: Using a Multimedia Approach to Teaching Design Patterns"
  • Jimmy Hua (MS): title coming, topic: Test-Driven Development and Automated Grading in C-based CS1 Courses
  • Jason Desrosiers (SP): "Tsukahara: Athletic Competition Enrollment Management Web Application"
  • Jonathan Thomassian (SP): "Tsukahara: Athletic Competition Enrollment Management Web Application"
  • Keian Christopher (SP): "Automated Sports Camera"
  • Ben Koonce (SP): Real Estate Buyer's Market Web Application

2006-2007 Cal Poly Student Research:

  • Brian Abreu (MS): "Cohesion Metric Improvement through Accessor Elimination: Taxonomy, Tool, and Evaluation"
  • Kate Razina (MS): "Measuring Coupling Usage in Dependency Injection Frameworks," paper accepted to IASTED Software Engineering Applications conference, Boston, MA, November 2007
  • Broc Miramontes (SP): "Automating Rape Suspect Examinations with Programmatic PDF Annotations"

Software Engineering Careers

What is the difference between SE and CS?
The U.S. Bureau of Labor and Statistics reports the median salary (May 2006) for computer application software engineers was $79,780 and predicts a 38% increase in software engineering jobs in the next ten years.
See this link addressing myths on CS careers.
Marissa Mayer, female computer scientist and VP at Google (great role-model for women in computing, if you don't have time for the whole thing, watch the first part then skip to about the 47 minute mark)
Marissa Mayer, SIGCSE'08 Keynote (scroll down to find video)

Software Engineering Advising Resources

Other::

IEEE Software Agile Taxonomy
Safari Books Online (access from on campus)
Cal Poly Home | Cal Poly Find It
 
CSC Department | SE Major

Last Update: 09/14/2006


David S. Janzen
Computer Science
California Polytechnic State University
San Luis Obispo, Ca 93407
805.756.2929
djanzen (at) calpoly.edu