ECE 242 Data Structures and Algorithms Lecture 1 Course Overview September 9, 2009 ECE242 L1: Course Overview Welcome! ° What is this class about? • Designing and building complex software systems • Solving common engineering problems efficiently - Searching, sorting, data merging • Developing practical engineering skills - Specification, design, implement, test ° What will I get out of this class • Preparation for career as software engineer • Better understanding of building big software projects • Understanding of state of the art programming tools September 9, 2009 ECE242 L1: Course Overview
Course resources ° The course web site contains important information associated with the course. • Check the site frequently for homework info, assignments, tips, lectures slides, etc. • Course web site: http://www.ecs.umass.edu/ece242/ ° Course text: Java Software Structures, Lewis and Chase, 2009/10, Prentice Hall • You will only be responsible for material discussed in lecture and in discussion • When in doubt refer to the lecture slides. ° Course software: • Eclipse – free from eclipse.org September 9, 2009 ECE242 L1: Course Overview Course staff ° Prof. Russell Tessier - lecturer ° Prof. Sandip Kundu – discussion leader ° Graduate TAs • Lokesh Subramany • Rohan Balikrishnan • Michael Buttrick TA mailing list: ece242-ta@davis.ecs.umass.edu September 9, 2009 ECE242 L1: Course Overview
Grade Composition ° 3 exams. 20%, 20%, 20% ° 5 homeworks 2% each ° 5 labs 6% each Assignments must be turned in on time! • Assignments will be submitted via Spark • Programming projects must be individual efforts • Assignments that have substantial similarities (e.g. copied) will be identified via assignment checking software. • Students will be subjected to disciplinary action including possible course failure • Please consult course web site for full information ° The three email rule September 9, 2009 ECE242 L1: Course Overview Software Development ° Software Engineering is the study of the techniques and theory that support the development of high-quality software ° The focus is on controlling the development process to achieve consistently good results ° We want to: • satisfy the client – the person or organization who sponsors the development • meet the needs of the user – the people using the software for its intended purpose ° Data structures help us represent data and use in our software systems ° Algorithms allow to implement problem solutions efficiently September 9, 2009 ECE242 L1: Course Overview
Goals of Software Engineering ° Solve the right problem • more difficult than it might seem • client interaction is key ° Deliver a solution on time and under budget • there are always trade-offs ° Deliver a high-quality solution • beauty is in the eye of the beholder • we must consider the needs of various stakeholders ° Solution must be efficient September 9, 2009 ECE242 L1: Course Overview 1-7 Aspects of software quality September 9, 2009 ECE242 L1: Course Overview 1-8
Classes and Objects September 9, 2009 ECE242 L1: Course Overview September 9, 2009 ECE242 L1: Course Overview
Classes and Objects September 9, 2009 ECE242 L1: Course Overview Extending a Class September 9, 2009 ECE242 L1: Course Overview
Extending a Class September 9, 2009 ECE242 L1: Course Overview Extending a Subclass September 9, 2009 ECE242 L1: Course Overview
Interfaces September 9, 2009 ECE242 L1: Course Overview Eclipse Demo ° Eclipse is harder to use than DrJava – but more powerful • Check on-line resources for suggestions on use ° Several different views allow for customization ° Very powerful debugger • Allows for easy breakpoint setting • Allows for traces of program operation • Full view of array values and references ° Projects must run using Eclipse ° Similar to development tools used in industry September 9, 2009 ECE242 L1: Course Overview
Summary ° This is not an introductory programming course. • Please review Java material from last semester ° This course will teach you how to write efficient and easy-to-maintain programs ° Lots of opportunities for creativity, fun, and problem solving ° Reading: Lewis and Chase Chapter 1, Download and play with Eclipse September 9, 2009 ECE242 L1: Course Overview
Recommend
More recommend