CSE 436Intro Lecture Ron K Cytron http www

  • Slides: 13
Download presentation
CSE 436—Intro Lecture Ron K. Cytron http: //www. cs. wustl. edu/~cytron/cse 436/ 11 September

CSE 436—Intro Lecture Ron K. Cytron http: //www. cs. wustl. edu/~cytron/cse 436/ 11 September 2006

Who am I? • Ron K. Cytron – Professor, Computer Science and Engineering –

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 CSE 436 Software Engineering Workshop

Why Software Engineering? • IBM Research (Yorktown Heights, New York) – PTRAN project: research

Why Software Engineering? • IBM Research (Yorktown Heights, New York) – PTRAN project: research prototyping product – 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” CSE 436 Software Engineering Workshop

More recently • DSSI Exegy – Start up in St Louis, started with IP

More recently • DSSI Exegy – 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 CSE 436 Software Engineering Workshop

My current status • Back from sabbatical – At Exegy one day a week

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 humanmachine activity – Engineering as art + science CSE 436 Software Engineering Workshop

Software Engineering • Unusual field – Consistent messages, discrepant terminology • Important field –

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 CSE 436 Software Engineering Workshop

Course Overview This is a capstone course, meaning that you will draw from all

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) CSE 436 Software Engineering Workshop

What to expect in “my” CSE 436 • Implementation and Documentation – Documentation required

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 CSE 436 Software Engineering Workshop

How else? • Outside speakers from industry will talk about Software Engineering from their

How else? • Outside speakers from industry will talk about Software Engineering from their perspective • Mock interviews • Field trip possible CSE 436 Software Engineering Workshop

Course particulars • Take a look at the web space for course: – http:

Course particulars • Take a look at the web space for course: – http: //www. cs. wustl. edu/~cytron/cse 436/ CSE 436 Software Engineering Workshop

Projects • Project Exodus – Plan for large-scale evacuation – Emphasis on planning but

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 CSE 436 Software Engineering Workshop

Team Formation • Q/A on projects • Team formation – Social aspects – Logistics:

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 CSE 436 Software Engineering Workshop

Turn in before you leave • Your name • Anything I should know about

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 CSE 436 Software Engineering Workshop