Papyrus featured in Google Play starting April 26, 2013, adding over 300,000 downloads in just over one week
My Java Essentials for Android course was one of thirty included in the initial Techcrunch launch of CrunchU
Articles by Chronicle of Higher Ed and Inside Higher Ed on my work with Java Essentials for Android published on Udemy.com.
Current Android apps in Google Play: Papyrus, 2012 Advent Devotions, Daily Glub Glub, Campus Maps Cal Poly - SLO, 2 Click Text.
Check out what I did during my winter and spring 2012 sabbatical.
Congratulations Andrew Hughes on receiving Honorable Mention in the
Samsung Galaxy Note S Pen Challenge for his Papyrus note-taking app!
We ran a CS4HS workshop for high school computer science teachers at Cal Poly July 18-19, 2012.
Check out Gmail Tap featuring
Reed Morse, former student and co-creator of Punchd.
Check out http://web-ide.org. WebIDE is
an intelligent tutoring system we developed in an NSF CCLI Type I award.
Our Android Labs now have about 400,000 pageviews since 9/1/10. These are also featured at Google Code University.
Congratulations Punchd on being acquired by Google!
Check out what has been happening with mobile app development at Cal Poly.
Office Hours::Winter 2013
Monday, Wednesday, Friday: 12:30-1pm, 4-4:30pm; Tuesday: 10:10am-noon
Winter 2013: CSC/CPE 405 Software Construction (SE Capstone)
Fall 2012: CSC/CPE 123 Intro to Computing: Mobile
Fall 2012: CSC/CPE 402 Software Requirements Engineering (SE Capstone)
Spring 2012: Sabbatical
Winter 2012: Sabbatical
Fall 2011: CSC/CPE 123 Intro to Computing: Mobile
Spring 2011: CSC/CPE 101 Fundamentals of Computer Science
Winter 2011: CSC/CPE 307 Software Engineering
Winter 2011: CSC/CPE 409 Android
Fall 2010: CSC/CPE 123 Intro to Computing: Mobile
Summer 2010: CSC/CPE 409 Android Application Development
Spring 2010: CSC/CPE 406 Software Deployment
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.
- Empirical Software Engineering
- Agile Methods
- Test-Driven Development
- Object-Oriented Systems
- Design Patterns
- Software Metrics
- Computer Science, Software Engineering, and Information Systems Pedagogy
- Test-Driven Learning with WebIDE (sponsored by NSF)
- Android at Cal Poly (sponsored by Google)
- 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
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.
Senior Project Guidelines
Get your own Trac Wiki with SVN for your senior project by following
the instructions here.
2011-2012 Cal Poly Student Research: (sabbatical year)
- Kennedy Owen (MS): App Inventor in CS Principles
2010-2011 Cal Poly Student Research:
- Sean Ghiocel (SP): WebIDE Lab Authoring Tool
- Kareem Nassar (SP): Punchd
- Aaron Rivera (SP): Android MatchMe
- Sasiluk Ruangrongsoraki (SP): Android MatchMe
- Issa Araj (SP): Android Wingman
- Wilson Lau (SP): Android Blotify
- Nathan Mock (SP): Android Blotify
- Vincent Sordo (SP): Android Cal Poly Classroom Finder
- Natalia Tupy (SP): WebIDE labs
- Matthew Hui (SP): Web UML Editor
2009-2010 Cal Poly Student Research:
- Thomas Dvornik (MS): WebIDE Framework
- Reed Morse (SP): Punchd
- Grantland Chew (SP): Punchd
- Nick Pafundi (SP): Square-up
- Kellen Rogers (SP): Square-up
- James Reed (MS): Android Courseware
- Jay Schultz (SP): iPhone app for iFixit
- 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
- 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 (2010)
for computer application software engineers was $90,530 and predicts a 30% 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
IEEE Software Agile Taxonomy
Safari Books Online (access from on campus)