Steve Chenoweth's Home Page


MSSE Program: Link to Rose-Hulman's Masters of Science in Software Engineering (MSSE) program is here. And a sample course, his Sofware Design course, is here; it's typically taught winter term.

Service Learning: Steve's latest involvement - Service Learning. Click here for the ppt presentation.

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.

On a roll: Fall term 2004-5 he did this again, with Mark Ardis. Kept going on requirements, teaching it in 2008-9 and in 2012-13 with Sriram Mohan. In 2013-14 Chandan Rupakheti and he did it. 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.

With graduates: One of these guys went to Stanford after Rose. Another participated in a start-up - talk about people who need requirements! And, Steve's taught a graduate version of this course in Indianapolis three times, to software professionals.

Is there a difference? Juniors fresh from math class want to know why clients don't just tell them the correct requirements to begin with. The requirements course is a challenge for many of these students, because it comes on top of their taking many a career of courses where their own analytical thinking always wins the day. While requirements are indeed analyzed in solving problems in CSSE 371, they are largely not analyzed mathematically, but more in terms of the needs of other people, like users and paying customers. It's a new focus, which requires a change of thinking modes! To the grad students, the idea of making any kind of dent in this nebulosity problem has tremendous value.


Description: C:\Users\chenowet\StaysOnPC\steveStuff\WebPageBackup\csse371_sec01_team6-03.jpg


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 used 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.

Three of these four students ended up working at Microsoft.


Artificial Intelligence!

Description: Eric Matt Richard Guy

Blobs take over: In 2004-5, 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.

Description: C:\Users\chenowet\StaysOnPC\steveStuff\WebPageBackup\index_files\Blobs_game.jpg


Project Management: 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. Later, he taught full classes of this subject. Many undergrads want to be coders, so it's a big step up for them to consider learning skills so as to move "to the dark side," management. Some do, though. One of our grads began her career as a project manager at Rockwell Collins.

Software Architecture! Spring term 2003-4 he taught CSSE 374, -- Software Architecture and Design (now Software 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's now taught software design and/or architecture every year he's been at Rose, except when he went on sabbatical.

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. Which led to regular involvements at both these places. For the 2014 CSEE&T conference, Steve's on the program committee; he and his wife are going to Austria!

Fundamentals: 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. He has regularly taught "core sequence" software development courses "on demand," whenever we needed someone fast to cover these. These include CSSE 132, 220, 221, and 230. "We" being his department.

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, then 2008, 2009, 2011, 2012 and 2013. Quite a few of these high school students end up coming to Rose. Steve's now seen his former students at their jobs in industry!


Description: C:\Users\chenowet\StaysOnPC\steveStuff\WebPageBackup\index_files\genetic_alg_pic.jpg


Design, mostly!

All kinds of software architecture: Winter 2004-5 Steve ran labs for the Database courses (CSSE333) taught by Salman Azhar. Salman left to be a program director at University of San Francisco, and then returned to industry.

Steve 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 David 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. In 2008-9 we switched to Craig Larman's book, so as to make 374 an OO design course.

He invented and taught CSSE 377, now 477, the second course in software design/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. Curt's now moved on to developing cool software for Apple products with Omni Group.

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 . In 2009-10 Steve saw at Purdue how they do teamwork on larger projects, and brought ideas on that back to Rose. Wrote a paper for the 2014 IL/IN ASEE conference, on doing complex teamwork with outside clients.

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. In the past two years Steve also teaches and manages senior design projects for our students in our Robotics program - 3 out of the last 4 years.

Sabbatical: During the 2009-10 school year, Steve was Visiting Academic Administrator for the EPICS Program at Purdue. This was a step toward getting an EPICS-type program going at Rose-Hulman. It was great fun managing 90 projects for 30 teams with different non-profit clients!

Masters of Science in Software Engineering program: Steve's taught three courses in this program, as well as teaching engineering management students about requirements and helping get a number of those students through their theses. He had fun in all of these, and a link to one of his MSSE courses is given above.

Bunch-o-other-courses: Steve did those, too, and enoyed them! Think chocolate cake.

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. See the schedule by my door.


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:

Description: 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

Creative problem solving: 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.

Making change: M L King's "courage, compassion and creativity" are for Steve a pragmatic combination with which to make things change that need changing. Other people like this combo, too -- for example Judith V Jordan's ideas about how to make vulnerable social groups less so. In computer science we need to be working on such topics like crazy! Say, we keep driving all the women out of the profession (fewer in it now than 30 years ago), and we seem not to know why, while also not trying much that's new. Reminiscent of how the majority used to feel about race relations, when we were unwilling to admit the inequities could possibly relate to our own actions, yet no one had the guts to try anything more drastic. To get effective engineering teams on which divergent views are equally valued, we're going to have to give up a lot -- like patriarchal organizations.

Recent interest: Daniel Kahneman's ideas about the irrationality of things we think we do rationally. E.g., his "experiencing self" versus the "remembering self," who don't seem to know much about each other! This theory has direct application to the things Steve does. For example, we teach heavily experiential classes in software engineering, then expect to measure our success by what students remember, on an exam, or on a course evaluation? Software projects themselves have problems with these two selves; that helps explain, say, our persistent inability to estimate how long the next project will take.

Recenter interest: Distance learning. It's the growth area even for schools like Rose. How else can we reach our alums for "lifelong learning," for one thing? Even for undergrads, we need to rethink the right mix of pedagogy and self-taught ("autogogy"?). I did a lot of self-instruction courses for NCR, and it worked pretty well if there was sufficient motivation on the student's part. B F Skinner was our hero.

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 doc describing how to do this. We did things like use cases back in the 1970's, but we made the mistake of trying to capture them in complete detail the first time.

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!

Coding 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. Decent for searching, like puzzle solving. Favorite used to be Lisp, but then it fell out of fashion. Before that, assembler, back when you had to.

And more -- Unless your browser shows a lot of pixels, you need to shift it to the right to see everything in the table below:


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.

Description: Roof workers

Description: Flying pig 

Above left - 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?


Below left - Rose's open door policy guarantees an unpredictable workflow, for us and for our students, but with lots closer interaction than if we sacrificed that. Musician passes the ostrich above the door, who's enamored of the strange glow given off by students thinking in the lab. Tinkly bell by the plaque serves as both door chime, when entering, and head knocker, when seated in chair underneath.

Open door

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

Description: C:\Users\chenowet\StaysOnPC\steveStuff\WebPageBackup\impossible_shot.jpg

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.


Does love of self-referrentials explain doing your whole page in the third person? Ask Steve!

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 I-70 reconstruction project at one time made no path preferred there. Aside from those construction backups, this is a nice drive. And a Google map.

Description: th to dayton map

Dressed for success, 2011: This is as informal as he could get for an official school portrait. Supposed to look professorial, he guesses. How do you model diversity, humor, complexity, right-brain values, and collecting and making good use of every imaginable thing. Oh, wait, that was supposed to have a question mark, right? Call it more fun with linguistics, or accidental discovery in action.

Description: steve

Seeing things from different directions isn't easy - just ask Carl Jung about the unconscious, or something. For complex systems with complex clients, you have to try!

Description: Relaxed steve

Here's Steve in a natural setting - outdoors exploring, but holding a pen, so as to be scientific about it. And here we also see the look of surprise that means you are learning something new!


Background: Zen pipe courtesy of Magritte, though ocean-rippled diluted sideways web site background probably was not how he envisioned its presentation. After