Academic
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. 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 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. |
|
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 (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 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, then 2008, 2009, and 2011. 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! |
|
|
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, 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
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.
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.
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
One fun project Steve did: Patent for parallel processing
using competing algorithms -- Assigned
to NCR, 1997. Works like this picture:
|
|
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 book 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. |
|
|
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. |
|
|
|
||||
|
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.
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. |
|
|||
|
Dressed for success, 2011:
This is as informal as he could get for an official school portrait, 2011.
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.
|
|
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! |
|
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 http://serendip.brynmawr.edu/local/collegesembio1.html.