130 likes | 149 Views
Understand the world of software engineering with insights from Professor Ron K. Cytron, covering coursework, team dynamics, and real-world applications. Dive into project specifics, skills development, and industry perspectives.
E N D
CSE 436—Intro Lecture Ron K. Cytron http://www.cs.wustl.edu/~cytron/cse436/ 11 September 2006
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 • Back from sabbatical • At Exegy one day a week (½ Tuesday and ½ Thursday) • Otherwise at 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)
What to expect in “my” CSE 436 • 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 • Project Exodus • Plan for large-scale evacuation • Emphasis on planning but also adaptation • 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 • Hook up with other people taking tour with similar background (Yente) • Declared-Strategy Voting • Instantiate an election • Various election types/protocols • Conduct an election
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 • Really want Exodus • Wouldn’t mind having two teams do same project • Looking for 4 teams of 4—5 people each • Form teams • Each team works on questions now • No team meetings Friday
Turn in before you leave • Your name • Anything I should know about you • What do you want to learn from this course? • Where do you intend to go from here? • Teams you are thinking of joining/forming • Who else might be on that team? • Rank the projects I’ve proposed • First choice, second, third • Propose a project that interests you