Steve Chenoweth's Home Page
at RHIT

Academic

Steve Chenoweth is an Associate Professor in the Department of Computer Science and Software Engineering at Rose-Hulman Institute of Technology. His principle areas of work relate to the design of complex systems and also these systems’ associated people concerns – such as how to get all the stakeholders in a large project to understand each another and the system being proposed.

A part of Steve’s style is seeing things from different directions.  It’s an architectural quirk, refuted by almost everyone else in favor of having the right viewpoint.  Say, writing about himself in third person to gain perspective – who else would do such a thing?  In order to let this be a fun and different home page, he did it as if Rose were journaling about his experiences at Rose.  Among other things, it’s FIFO – If you’re looking for recent, scroll down a bit.

Here are some classes Steve enjoys teaching:

Starting at Rose: Fall term 2003-4 he team-taught CSSE 371 -- Software Requirements, with Don Bagert. Fall term 2004-5 he did this again, with Mark Ardis. The course's RHIT catalog description is: Basic concepts and principles of software requirements engineering, its tools and techniques, and methods for modeling software systems. Topics include requirements elicitation, prototyping, functional and non-functional requirements, object-oriented techniques, and requirements tracking.

Here we see a happy "Team 8" from one section of the 2003-4 course, Tyler, Ben, George and Derek, presenting their requirements for a system to promote student graduation. They may be smiling also in part because there really was no "Team 8" in this class, but they posed as it successfully.

 

Watch out - AI: Winter term 2003-4 he taught CSSE 413 -- Artificial Intelligence; he taught this again fall term 2004-5 and 2005-6, and will be in fall 2006-7. Steve uses Russell & Norvig's book and targets the learning so as to be useful for students who are going directly out into the workforce as well as for students headed to grad school.

Here are Eric, Matt, Richard and Guy, from the winning team in the checkers tournament which also was featured in the 2003-4 course. Each year we change the game, with the course assistant getting to have a major say in the structure of the new game.

The final project in 2003-4 was to create an intelligent web search program, a pragmatic application of various skills learned throughout the course. In the succeeding years we have let teams of students pick their own final project -- an exciting alternative.

 

 

Winter term 2003-4 he also taught advanced topics in project management to one grad student and as a volunteer seminar, primarily for students who already were working in software development.

Software Architecture! Spring term 2003-4 he taught CSSE 374, -- Software Architecture and Design, a course like CSSE 371 in methodology which he developed. Way cool results especially for students with software development work experience, one of the few courses where undergrad SE majors actually get to architect a realistic system. So much fun that, for 2004-5 this will be 2 courses. In 2004-5 Steve taught this again, with the enhancement of additional material on software patterns. He also taught a second term of this subject which also included interaction design. More of that second course in 2005-6 -- great fun! And a challenge for students, because some have not had related work experience yet, and most won't be put in charge of designing systems in industry until a few years into their careers.

Steve also taught a section of CSSE 120 in spring 2003-4, the intro to software development course, and again in spring term 2004-5.

Steve presented how the architecture course is designed as part of a workshop at CSSE&T in March 2004, and again at a seminar at SEI in August, 2004.

Launching high school students: Summer 2004 Steve taught a session of Rose-Hulman's Catapult program for high school students. Three weeks of fun, and many of the 16 went from not knowing Java or programming at all to being able to code surprisingly sophisticated systems.

Here’s the original picture one team did to kick off their genetic fish growth experiment in Java.  Later they collaboratively created a 3800 line graphical “Settlers of Catan”-type system.

One team of two created their own instant messaging system with file transfer, and by the end of the session other teams were using it to send messages. This entrepreneurial pair won second prize overall at the concluding Catapult expo and were ready to take orders for their software!

He taught Catapult again in 2005, and also in summer of 2006. Quite a few of these high school students end up coming to Rose.

 

Blobs take over: Here's a little more on a couple of the repeats: Fall 2004-5 Steve co-taught 3 sections of the Requirements course (CSSE371) with Mark Ardis, and taught two sections of AI (CSSE413) again.  The requirements course is a challenge for many students, because it comes on top of their taking many many courses where their own analytical thinking always wins the day. While requirements are indeed analyzed, they are largely not analyzed mathematically, but more in terms of the needs of other people, like users and clients. It's a new focus, which requires a change of thinking modes!

This time in AI, Steve's assistant Clint Weis did a fabulous interface for a “Blobs” variant program, and it enabled both an in-class and a Rose-open Blobs tournament.  Here's Steve trying to beat one of Clint's "default" players in a game. Against the class's minimax players, humans didn't fare so well.

As a final activity the class AI teams picked their own project – these varied, from neural nets solving practical problems, to text analysis from knowledge bases, graphical games, and learning systems.

 

All kinds of software architecture: Winter 2004-5 Steve ran labs for the Database courses (CSSE333) taught by Salman Azhar, and taught the new, expanded version of Software Architecture and Design (CSSE374) which became the first half of a 2-course sequence.  He used Bass’s book for the architecture and Budgen’s book for the design, adding more material on patterns as noted -- also about customer relations, and so forth – you can imagine… he hopes -- the software architecture world seems divided into those who understand the critical nature of the architect's role as a leader, the rest stuck on technical issues of design-in-the-large. One suspects most of the latter have never actually been software architects on a project being judged by outsiders. Just Steve’s opinion; he could be wrong. 

He invented and taught CSSE 377, the second course in software architecture, which includes lots of Interaction Design as well as regular old design for the usual reasons.  What are those reasons, anyway?  He combines the pure stuff, like increasing cohesion and enabling reuse, with the pragmatic, like how to choose tools, how to design something which other people can detail, and how to architect so that geographically dispersed groups can implement simultaneously.

The database experience proved valuable when Steve co-taught 3 sections of the database course with Curt Clifton, during the 2005-6 year. This also involved a collaboration with Rose-Hulman Ventures, who thereafter hired some of the students.

Teamwork: In spring 2005-6 Steve taught the innovative Teamwork and Robotics course with David Mutchler. In this service learning course, 34 students helped high school and middle school Botball teams create competing robots from Legos. The Rose teams also built their own Beyond Botball entries, and as pairs wrote a paper on an area of interest in robotics. Steve and David wrote a paper about this class, as a work-in-progress, presented at an ASEE conference in far-away Fort Wayne.

Senior project:  Steve taught the BS capstone course to some teams each year he’s been at Rose.  This year he has multiple sections (currently 7 teams).  It’s exciting to see what the students you’ve had for other things along the way can do just before they graduate. 

Where to find him

Office: F-220 (Top floor, back of Moench Hall by the chimney)

Office Hours: Stop by any time my door is open. I of course will not be there during my classes; or during our scheduled department meetings, etc.:

Background

Steve's educational background supporting these interests includes a Ph.D. in Computer Science and Engineering as well as an MBA from Wright State University in Dayton. He is an Indianapolis native and Butler University grad who moved to Dayton, Ohio in 1974 to work for computer vendor NCR. This work included architecting new kinds of transaction processing systems and transferring technologies from research. In 1995 Steve joined Bell Laboratories (now part of Alcatel – Lucent) to serve as an inside consultant, reviewing the architectures of next-generation telecommunications equipment. Since 2002 he has been an external consultant to this industry and others.

One fun project Steve did: Patent for parallel processing using competing algorithms – Assigned
to NCR, 1997. Works like this picture:

competing algorithms at work

Different computers try to solve the same problem in different ways all at once. When one gets the solution, Great! -- It might be quitting time for everybody. (Some of the time chunks represented by the dashed arrows can be avoided, assuming you could not predict the shortest running algorithm to begin with.)

Special interests and preferences

As a practitioner of group creativity methods, Steve recommends Synectics, Ned Herrmann and the Creative Problem Solving Institute as fruitful resources. These methods fit well with critical team activities on software projects.

Favorite knowledge-gathering & development tool: Use cases, which actually deliver the goods as a paradigm you can start a project with, then design with, then use to test if the resulting system meets the requirements. See for example Alistair Cockburn's book describing how to do this.

Glutton for punishment: Steve's always willing to work on novel and risky projects; knowing how to cut those risks early. All the tough stuff Six Sigma saved for later!

Recent avocation: Programming in Java. Like life, Java can be self-referential and so lovable -- incorporating as it does such artifacts as good old loops, recursion in general and anonymous inner classes operating on the things defining them.

 

Long-term avocation: Photography. Here's a picture via which Steve made it into the school paper his first term at Rose. .. Roofing people shadows, seen projected on the chimney out Steve's office window.

Inside the office, this pic’s more self-explanatory:  Musician flies over flying pig over white board task list.  Steve thinks this sheds light on the architectural process.  Who knows for sure?

He loves self-referentials even beyond Lisp and Scheme. This, of course, is an impossible shot, of some artwork here at RHIT…

Referring to that, a smaller version of the wood-sculpted hand reaches out to grasp it, while his own hand is poised behind those, as part of an incongruous, wispy image lying opposite to the direction from which he actually had to have been taking the shot. It must be a Sony Style thing… 

 

 

Referring to all of that, that’s him in the background, if you’ve been expecting a picture of the guy.

His avocation has become known as traveling-across-I-70.  With two homes, as marked, you can see why.  New Castle, where he was born, is on the way.  He left open the path thru Indy.  The months-long Indy I-70 reconstruction project makes no path preferred there.  Aside from that backup, this is a nice drive. And a Google map.

 

Background: Zen pipe courtesy of Magritte, though ocean-rippled diluted sideways web site background probably was not how he envisioned its presentation. After http://serendip.brynmawr.edu/local/collegesembio1.html.