The First Day - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

The First Day

Description:

Study to your learning style. Rinse and Repeat. AWARE: Enjoy. A lot of stuff. Policies ... Outlook. OIT has setup information. Be active. Ask and answer questions ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 55
Provided by: alvin1
Category:

less

Transcript and Presenter's Notes

Title: The First Day


1
The First Day
  • CS1332
  • Spring 2007

2
Outline
  • Course Details
  • Topics
  • People
  • Course Resources
  • Website and Newsgroups
  • Texts
  • Policies and Philosophies
  • Java Refresher

3
Stuff We Will Know
  • Data Structures
  • Lists
  • Trees
  • Algorithms
  • Pattern Matching
  • Graph Searching
  • Lots MoreEspecially for grad school

4
The Class
  • Lecture
  • Class Day Tuesday Thuesday
  • Class Time 135-255PM
  • Recitation
  • A1 435-555PM
  • A2 605-725PM

5
The People
  • Lecturer
  • Ashwin Ram (ashwin_at_cc)
  • TAs
  • Gilberto Gaxiola (gaxiola_at_gatech)
  • Kathryn Long (gtg324x_at_mail)
  • Michael Meeks (gth861y_at_mail)
  • Alvin Yates (ayates_at_cc)
  • Students Like You

6
Resources
  • Class Website
  • www.cc.gatech.edu/classes/AY2007/cs1332_spring
  • Course Information
  • Newsgroups
  • git.cc.classes.cs1332.announce
  • git.cc.classes.cs1332.hw
  • git.cc.classes.cs1332.misc

7
More Resources
  • Required Textbook
  • Data Structures and Algorithms in Java
  • Goodrich and Tamassia, 4th Ed.
  • Other Texts
  • Interweb (Google, etc.)
  • Introduction to Algorithms, CLRSNot for the
    faint of heart
  • Java API

8
Even More Resources
  • Recitations
  • Your smiling TA
  • Fellow students
  • Review
  • Office Hours
  • EmailWill be posted on the website

9
Your Grade
  • Old Criteria
  • Homework 32
  • Quizzes 18
  • Tests 25
  • Final 25
  • New Criteria
  • Will be up on Monday
  • More Emphasis on Tests

10
Course Philosophy
Material
You
11
In So Many Words
  • Teaching
  • We are in this together
  • We are your guides
  • Learning
  • Up to you, not us
  • But how?

12
AWARE
  • Attend
  • Write
  • Ask
  • Rehearse
  • Enjoy

13
AWARE Attend
  • Lecture is Tuesday and Thursday
  • Recitation is Wednesday
  • Attendance
  • Lecture Mandatory
  • Recitation Optional
  • Miss class at your own risk

14
AWARE Write
  • Slides may not exist
  • Ashwin prefers the whiteboard
  • In through eyes, out through fingers
  • Laptop
  • PDA
  • Paper
  • You may need this later

15
AWARE Ask
  • People to ask
  • Ashwin
  • TAs
  • Friends
  • Not Friends
  • Valid Questions
  • Have educational value
  • Give deeper understanding of material
  • Directed and thoughtful

16
AWARE Ask
  • Examples
  • Can you help me understand how X works?
  • Why does X have this Big O?
  • How can I do X in Java?
  • What should I do in X situation?
  • Bad questions
  • I dont understand (Not actually a question)
  • Can we collaborate? (More on this later)

17
AWARE Rehearse
  • Practice is key
  • Whatever it takes
  • Code your own homework
  • Review notes and reading
  • Build your own structures
  • Study to your learning style
  • Rinse and Repeat

18
AWARE Enjoy
  • A lot of stuff
  • Policies
  • Homeworks
  • Tests
  • The Right Attitude
  • Relax and Smile
  • Bad vibes

19
Policies
  • Completely retooled
  • New in 2007!
  • General Conduct
  • Newsgroups
  • Programming
  • Homework

20
General
  • Noisy Things
  • Turn them off
  • Make sure they are off
  • Be on time
  • Common courtesy
  • Course Comments

21
General
  • Academic Misconduct
  • Sad face
  • Just Say No
  • Final Exams
  • Tentative
  • Exams gt Ticket

22
General
  • Scholarships
  • Final Grade ! Finals Week
  • Seize the fish
  • Final Grades
  • Posted at the end
  • Discussions next semester

23
Newsgroups
  • Find a Newreader
  • Thunderbird
  • Outlook
  • OIT has setup information
  • Be active
  • Ask and answer questions
  • Read .announce once-per-day
  • Proper netiquette must be observed

24
Programming
  • No compilation No grade
  • Required in all submissions
  • Javadocing
  • Commenting
  • Proper Object Oriented Design
  • Test cases

25
Programming
  • Provided Files
  • Various forms
  • Will include .class and .java
  • Editting .java Files
  • Do not change keywords, headers, etc.
  • Methods and fields may be added
  • Do not remove anything

26
Programming
  • Packages
  • Editors
  • Notes
  • Your Civic Duty Emacs vs vi
  • Eclipse
  • Choose Wisely

27
Homework
  • Collaboration Statement
  • Submission
  • Method
  • Verification
  • Extensions

28
Collaboration Statement
  • Your Name
  • PRISM ID
  • I worked with X on this assignment, and used Y
    or I worked alone on this assignment, using
    course materials
  • Required for grade

29
Submission
  • What
  • Sakai, not WebWork
  • Notable Features
  • When
  • Not yet
  • But soon

30
Submission How
  • Grace Period
  • 24 Hours after due date
  • Reasons
  • Submissions
  • 1st submission before the due date only
  • 2nd submission via email until grace period

31
Submissions How
  • All files must be turned in
  • Your .java files
  • Files required to test
  • Files we provided you
  • Readme.txt, if applicable
  • Remember It must compile

32
Questions?
33
Refresher
  • Programming
  • History
  • Paradigms
  • Ivan Sutherland ECE Hero
  • Object Oriented Concepts
  • Examples

34
Programming
  • Language
  • Concepts
  • Data structures
  • Algorithms
  • Methodology
  • Requirements and Analysis
  • Software Engineering

35
Paradigms
  • Imperative (C and its ilk)
  • Structured
  • Object Oriented (Smalltalk, Java)
  • Functional (Lisp, Haskell)
  • Event-driven
  • Blah blah blah

36
Ivan Sutherland
  • SketchPad His Story
  • PhD thesis of the 1960s
  • Hierarchical modeling via objects
  • GUI and light pen driven
  • Constraint based drawing
  • Other fun features

37
Picture Time
38
Java In Practice
  • Variables and References
  • References ! pointers
  • Objects are pass-by-reference
  • Atomic data is pass-by-value
  • Stack vs Heap
  • Heap Instances
  • Stack Static values

39
Quiz!
  • int n1 47
  • int n2 47
  • System.out.println(n1 n2)

40
Another!
  • Integer n1 new Integer(47)
  • Integer n2 new Integer(47)
  • System.out.println(n1 n2)

41
More!
  • Integer n1 new Integer(47)
  • Integer n2 new Integer(47)
  • System.out.println(n1.equals(n2))

42
Last One!
  • String s1 "test"
  • String s2 "test"
  • String s3 new String ("test")

43
Parameter Passing
  • // Some simple recursion/activation stack review
  • int factorial (int n)
  • if (n 1)
  • return (1)
  • else
  • return (n factorial (n-1))

44
Parameter Passing
  • // The same with Objects
  • int factorial (Integer n)
  • int n m.intValue()
  • if (n 1)
  • return (1)
  • else
  • return (n factorial (new Integer(n-1))

45
Using swap
  • // Using the following wrapper class
  • class Simple
  • public int value
  • Simple (int v)
  • value v

46
The Swap Class
  • public void swap3 (Simple a, Simple b)
  • Simple tmp new Simple()
  • tmp.value a.value
  • a.value b.value
  • b.value tmp.value
  • public void swap1 (int i, int j)
  • int tmp
  • tmp i
  • i j
  • j tmp
  • public void swap2 (Simple a, Simple b)
  • Simple tmp new Simple()
  • tmp a
  • a b
  • b tmp

47
What happens?
  • public static void main(String args)
  • int one 10
  • int two 25
  • Simple three new Simple(10)
  • Simple four new Simple(25)
  • swap1 (one, two)
  • swap2 (three, four)
  • swap3 (three, four)

48
Object Oriented Programming(OOP)
  • Nouns, not verbs
  • Nouns Be the model
  • Verbs Describe the models actions
  • APIE
  • Abstraction
  • Polymorphism
  • Inheritance
  • Encapsulation

49
OOP Concepts
  • Abstraction
  • Model the environment
  • Im working with a Person/Animal/etc.
  • Encapsulation
  • An object contains its own data, methods
  • Interaction through interfaces

50
OOP Concepts
  • Inheritance
  • Superclass Pre-existing
  • Subclass New class
  • Recieves
  • public and protected variables
  • public and protected methods
  • Neither private variables nor private methods

51
OOP Concepts
  • Polymorphism
  • Objects
  • The isa Relationship
  • Animals, Cats, and Dogs
  • Methods
  • Overriding
  • Overloading

52
Overloading
  • Same name, different signature
  • Arg names ignored
  • Compile-time
  • Example
  • String.substring(beginIndex)
  • String.substring(beginIndex, endIndex)

53
Overriding
  • Same name and signature
  • Late-binding
  • Run-time
  • Example
  • Dog.makeSound() ? Bark!
  • Pig.makeSound() ? Oink!

54
Self-test
Write a Comment
User Comments (0)
About PowerShow.com