CS187 Programming with Data Structures 1' Introduction - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

CS187 Programming with Data Structures 1' Introduction

Description:

CS187 Programming with Data Structures 1' Introduction – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 49
Provided by: robotics5
Category:

less

Transcript and Presenter's Notes

Title: CS187 Programming with Data Structures 1' Introduction


1
CS187 Programming with Data Structures1.
Introduction
  • Oliver Brock
  • UMass Amherst
  • Spring 2009

2
The Team
Oliver Brock
Dirk Ruiken
office hour times and locations will be posted on
the class web site
3
Grading
  • 6-8 Programming Assignments 40
  • OWL Exercises 10
  • Midterm 20
  • Final 30
  • You need to get a C or better on the final to
    pass the class!

4
Other Important Things
  • Course Web Pagehttp//twiki-edlab.cs.umass.edu/bi
    n/view/Oli187/WebHome
  • Course Bulletin Board (for all questions
    off-campus username/password cs187/cS187Ob)http
    //bb-edlab.cs.umass.edu/cs187_S09
  • Late Policy (see Web site)
  • Honesty Policy (see Web site)
  • Collaboration (see Web site)
  • Submitting your assignments (see Web site)
  • EdLab

5
Personal Identifier
  • Random string consisting of small caps letters
    and numbers (a-z0-9)4
  • for example a1b2c3d4
  • dont get funny! dont expose your name! dont
    use your student ID or SSN!
  • please email your name, student ID, and
    identifier to TA

6
Textbook
  • Data Structures Objects, Abstraction, and
    Design Using Java (Version 5.0) by Elliot B.
    Koffman and Paul A. T. Wolfgang.  John Wiley and
    Sons, 2005. ISBN 0-471-69264-6

7
Content
  • Objects
  • Abstraction
  • Data Structures
  • Design
  • and the like

8
(No Transcript)
9
(No Transcript)
10
This is the most important class of the
undergraduate curriculum
anonymous instructors opinion
11
Case Study 1 Internet Startup
12
Case Study 2 Research
13
Case Study 3 Getting Through College
14
Important Lessons
15
What Do Computer Scientists Do?
16
What Do Writers Do?
17
What Do Architects Do?
18
Planning a House
19
Views Architectural Drawings
20
Implementation
21
Who is the Computer Scientist?
22
Skills A lot of them
23
Same Deal Car
24
Computer Scientists say
  • I can just sit down and start programming.
  • I know exactly what Im doing.
  • I dont make bugs.
  • the code is self-documenting.
  • I can fix any bug.

25
Conclusion
We have to do MUCH more than typing and debugging
code.
Yet, coding is what you will be tested on!
Well, not quite...
26
First Understand the Process
27
What Do We Do? Revisited.
Required Skills
Available Tools (so far)
28
Software Life Cycle
29
Spiral Software Life Cycle
30
Views UML pictures of code
Sequence Diagram
Object Model
Use Case
31
Requirements Use Cases
32
Design Abstraction
33
Abstraction is Everywhere!
34
Why Abstraction/Interfaces?
  • Makes things easier
  • You do not need to know everything
  • Other people can help or take advantage
  • Permits franchising

What does this mean for software?
35
Design Data Structures
  • Data Structure
  • organize data
  • allow access to data
  • allow changes
  • In other words
  • data (members)
  • operations on that data (methods)
  • How can we represent such a thing?

36
(No Transcript)
37
Abstraction of Objects
38
Classes and Objects
39
Design How Do We Find Objects?
40
Design
From Goodrich Tamassia (1st edition) , p. 10
41
Please Remember!
  • Know your trade!
  • Software Life Cylce
  • Tools for each step
  • This class teaches you an important tool data
    structures and algorithms
  • Design is important!
  • Abstraction is your friend!
  • Think, then code!

42
Finally What CS 187 is about
  • Learn some important data structures
  • How to access Javas provided classes
  • How to implement them
  • How to evaluate them
  • How to decide when to use them
  • Develop an object-oriented philosophy
  • Deepen general facility in programming
  • Learn to use Java

43
The REAL Goal
Data structure A systematic way of organizing
and accessing data Algorithm A step-by-step
procedure for performing some task in a finite
amount of time
44
What you need to succeed in CS187
  • Come to class
  • Go to the discussion section
  • Go to office hours
  • Read the assigned reading
  • Do the programming exercises properly!
  • Think, then code!
  • Test smart, test often, test thoroughly

45
Salient Characteristics of Java
  • platform independent the same program can run on
    any correctly implemented Java system
  • Java is object-oriented
  • Structured in terms of classes, which group data
    with operations on that data
  • Can construct new classes by extending existing
    ones
  • Java designed as
  • A core language plus
  • A rich collection of commonly available packages
  • Java can be embedded in Web pages

46
Java processing and execution
  • Java source code in text files
  • class.java
  • Java source code compiler
  • produces Java byte code
  • one file per class
  • class.class
  • Java virtual machine (JVM)
  • Loads and executes class files
  • May compile them to native code

47
Assigned Reading
  • Read Chapter 1
  • Read Appendix A B
  • Case Study Telephone Directory
  • Supplemental Material
  • Check out the Java code, but running it is not
    required

48
Getting Java and IDE
  • Java http//www.java.com/getjava (V1.6)
  • Eclipse http//www.eclipse.org
  • DrJava http//drjava.org (only with Java 1.5)
  • there are many other IDEs, I recommend
    EclipseTo get Java 1.5 (older
    version)http//java.sun.com/javase/downloads/ind
    ex_jdk5.jsp
Write a Comment
User Comments (0)
About PowerShow.com