120 likes | 282 Views
CSE 436—Intro Lecture. Ron K. Cytron http://www.cs.wustl.edu/~cytron/cse436/. 12 September 2005. Who am I?. Ron K. Cytron Professor, Computer Science and Engineering Director of DOC group Rice University: B.S.E.E, 1980 University of Illinois: M.S., Computer Science, 1982
E N D
CSE 436—Intro Lecture Ron K. Cytron http://www.cs.wustl.edu/~cytron/cse436/ 12 September 2005
Who am I? • Ron K. Cytron • Professor, Computer Science and Engineering • Director of DOC group • Rice University: B.S.E.E, 1980 • University of Illinois: • M.S., Computer Science, 1982 • Ph.D., Computer Science, 1984 • IBM Research • Research Staff Member, 1984—1991 • Adjunct Professor, NYU and Columbia • Washington University • Visiting Adjunct, 1991—1993 • Associate Professor, 1993 • [Full] Professor, 2002
Why Software Engineering? • IBM Research (Yorktown Heights, New York) • PTRAN project: researchprototypingproduct • Software reviews and evaluations of projects • Customer interactions within IBM and outside • Texas Instruments (Dallas) • Cross compiler and simulator support • “Freeze and thaw” environment capture was my enduring contribution • Ultradata (St Louis company) • Embedded application with offline desktop support • Noisy data, rigorous testing required • Memory space very tight—I was originally called in to help them with “compression”
More recently • DSSIExegy • Start up in St Louis, started with IP work by myself and 3 other profs (Indeck, Chamberlain, Franklin) • 8 people in CWE to 20 at I-44 and I-270 • Hardware and software company • FPGA-based algorithmic development • Softare for • Prototyping • User interfaces, reports • Language interfaces • Controls for hardware • Many lessons learned and still learning • Lunch is important, talk about it early and often • Always “both” • Success depends on talent, shared vision and appreciation of goals, team players • Things you learn at Wash U are relevant and they matter greatly • Our field requires life-long learning • Professional development • Giving as well as getting
My current status • On semi-sabbatical • Two days a week at Exegy (Tuesdays and Thursdays) • Two days a week at WU (Mondays and Fridays) • Wednesday is a swing day • Teaching this semester, but not next • Then back to full-time WU • Why am I teaching this course? • Commitment to quality software • Love of computer science, programming • a human-human activity more so than a human-machine activity • Engineering as art + science
Software Engineering • Unusual field • Consistent messages, discrepant terminology • Important field • Considered pivotal to addressing the “software crisis” • Diverse field • Theory—formal requirements, specification languages • Practice—testing, software development models, processes, project management
Course Overview This is a capstone course, meaning that you will draw from all your experiences in other courses to complete the work in this course. • Design skills, to arrive at a clean, effective design for your project. • Coding skills, to implement your project in the best way possible. • Programming language skills, as all projects will involve Java, C++, and JNI to connect the pieces. • Debugging skills, to find and fix bugs. • Testing skills, to search for the presence of bugs. • Theory skills, to prove the absence of bugs. • Writing skills, to develop clean, effective prose describing requirements and project activities. • Presentation skills, to communicate the important aspects of your project at different levels (management, customer, team)
How might this semester differ from previous ones? • Implementation and Documentation • Documentation required • But implementation is equally important • Testing • Methodologies in lecture • Teams practice testing at all levels • Unit testing • Application testing, white- and black-box • Regression testing • Emphasis on presentations • Everybody presents • Everybody critiques • Everybody improves • Study of software failures • Final exam planned on lecture material
How else? • Outside speakers from industry will talk about Software Engineering from their perspective • Mock interviews • Field trip possible
Course particulars • Take a look at the web space for course: • http://www.cs.wustl.edu/~cytron/cse436/
Projects • Disco dance floor • IEEE students building LED matrix • Hardware patterned after project at MIT • Tour-o-matic • Give directions to people taking WU tour • How to get from A to B (Dijkstra) • Account for universal access (stairways might have infinite cost) • Show sites along the way • Play clips talking about things they experience • Hook up with other people taking tour with similar background (Yente) • Juke box • CD ripping • CDDG (freedb) to get track/album info • Album covers • LCD display + monitor
Team Formation • Q/A on projects • Team formation • Social aspects • Logistics: must be able to meet me as a team between 9—11 on Fridays • Interest in project • I’d like to have each project covered • Could drop Juke Box if needed • Wouldn’t mind having two teams do same project • Looking for 4 teams of 5-6 people each • Form teams • Each team works on questions now • No team meetings Friday