ECE 242 Data Structures and Algorithms Lecture 1 Course Overview - - PDF document

ece 242 data structures and algorithms
SMART_READER_LITE
LIVE PREVIEW

ECE 242 Data Structures and Algorithms Lecture 1 Course Overview - - PDF document

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


slide-1
SLIDE 1

ECE242 L1: Course Overview September 9, 2009

ECE 242 Data Structures and Algorithms

Lecture 1

Course Overview

ECE242 L1: Course Overview September 9, 2009

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
slide-2
SLIDE 2

ECE242 L1: Course Overview September 9, 2009

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

ECE242 L1: Course Overview September 9, 2009

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

slide-3
SLIDE 3

ECE242 L1: Course Overview September 9, 2009

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

ECE242 L1: Course Overview September 9, 2009

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

slide-4
SLIDE 4

ECE242 L1: Course Overview September 9, 2009 1-7

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

ECE242 L1: Course Overview September 9, 2009 1-8

Aspects of software quality

slide-5
SLIDE 5

ECE242 L1: Course Overview September 9, 2009

Classes and Objects

ECE242 L1: Course Overview September 9, 2009

slide-6
SLIDE 6

ECE242 L1: Course Overview September 9, 2009

Classes and Objects

ECE242 L1: Course Overview September 9, 2009

Extending a Class

slide-7
SLIDE 7

ECE242 L1: Course Overview September 9, 2009

Extending a Class

ECE242 L1: Course Overview September 9, 2009

Extending a Subclass

slide-8
SLIDE 8

ECE242 L1: Course Overview September 9, 2009

Interfaces

ECE242 L1: Course Overview September 9, 2009

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

slide-9
SLIDE 9

ECE242 L1: Course Overview September 9, 2009

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