18
wrapup 1 CS110 Wrapup Tuesday, May 11, 2004 • Announcements final exam Thursday, May 20, 8:00 AM McCormack, Floor 01, Room 0608 (easier than last exam?!) – wise1 due next tonight wise due Thursday • Wrapup Course goals How we met them Final exam Where you can go next • at UMass • in the profession

CS110 Wrapup Tuesday, May 11, 2004

  • Upload
    gayle

  • View
    30

  • Download
    1

Embed Size (px)

DESCRIPTION

CS110 Wrapup Tuesday, May 11, 2004. Announcements final exam Thursday, May 20, 8:00 AM McCormack, Floor 01, Room 0608 (easier than last exam?!) wise1 due next tonight wise due Thursday Wrapup Course goals How we met them Final exam - PowerPoint PPT Presentation

Citation preview

Page 1: CS110 Wrapup Tuesday, May 11, 2004

wrapup 1

CS110 WrapupTuesday, May 11, 2004

• Announcements– final exam Thursday, May 20, 8:00 AM

McCormack, Floor 01, Room 0608 (easier than last exam?!)

– wise1 due next tonight– wise due Thursday

• Wrapup – Course goals– How we met them– Final exam– Where you can go next

• at UMass• in the profession

Page 2: CS110 Wrapup Tuesday, May 11, 2004

wrapup 2

WISE• wise1 due tonight must compile and run• minimal functionality acceptable

if (whatever)

(

if (somethingElse)

{

// many lines of code that run

// off the edge of the pap er

}

}

Page 3: CS110 Wrapup Tuesday, May 11, 2004

wrapup 3

Learning to program

• Lots of fun

• Practical

• Hard, time consuming

• Unusual mixture:– sophisticated intellectual content– picky details that must be right

• Exercise in reading, writing, thinking

• CS110 is for CS majors, future professionals

slide from lecture 1

Page 4: CS110 Wrapup Tuesday, May 11, 2004

wrapup 4

Teaching/learning style

• To learn a language well, live in a land where it’s spoken – anxiety producing, but efficient!

• Learn to write by to reading and writing and writing about what you learn

• 60% of a lot is more than 100% of a little

• Ask questions (to slow me down)

slide from lecture 1

Page 5: CS110 Wrapup Tuesday, May 11, 2004

wrapup 5

CS110 goals

• Learn to think like a programmer by reading and writing programs

• Learn Java

• Prepare for life as a CS major

• Work hard / work productively

• Have fun

• Amaze yourself by how much you’ve learned

Page 6: CS110 Wrapup Tuesday, May 11, 2004

wrapup 6

Teaching philosophy• Programming is much more than the details

– think about the important ideas– but the details matter: learn syntax too

• Read more code than you write, write about the code you read and write

• Work on significant applications: Bank, shapes, Juno, WISE

• Learn from lots of sources – class, books, net, API, friends

• Pay as little attention to grades as possible

Page 7: CS110 Wrapup Tuesday, May 11, 2004

wrapup 7

OOP• Think of the (software) world as a bunch of

objects communicating with one another• Choose a language that supports that view• Java

– object oriented– portable– fashionable– well designed– right for CS110 and for practical programming

Page 8: CS110 Wrapup Tuesday, May 11, 2004

wrapup 8

Development Environment: xemacs• Arguments for

– basis for future work in major and career– easy to set up on a PC– java and javac are visible commands– command line interface (no GUI)

• Arguments against (for a modern graphical environment instead)– command line interface (no GUI, unintuitive)– old fashioned– no sparkle

Page 9: CS110 Wrapup Tuesday, May 11, 2004

wrapup 9

Official Java• Keywords

– http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, strictfp, static, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while

• Other syntactic elements= + - * / \ “” ‘’ ( ) { } [ ] || && . , ; < > >= <= == % // /* */ /** ? : ! != ; += ++

Page 10: CS110 Wrapup Tuesday, May 11, 2004

wrapup 10

Vocabulary• Java API classes

String, TreeMap, Iterator, ArrayList, Integer, Object, Character, File, System, *Reader, *Writer, Math, StringTokenizer, StringBuffer, Date, Exception, ...

• From our applications

Bank, *Account, Shape, Screen, Box, *Line,

LinearEquation, Juno, Shell, ShellCommand, JFile,

Directory, TextFile, User, *Exception, Terminal, WISE*, …

Page 11: CS110 Wrapup Tuesday, May 11, 2004

wrapup 11

Vocabulary

• For talking about programscomment, api, message, method, object, class, convention, polymorphism, token, identifier, parse, javadoc, cast, unit test, implementation, inheritance, JVM, getter, overrides, documentation, declaration, scope, parameter, argument, signature, field, variable, error, instance, block, call stack, syntax, semantics, delegate, design, model, compile time, run time, ...

• Study from JOI glossary

Page 12: CS110 Wrapup Tuesday, May 11, 2004

wrapup 12

Final Exam

• Structure like the hour exams

• Mix of easy and hard questions

• Exam is three hours long but I will try to write one that takes just two

• Chapters 1-9 of JOI, examples

• Based on Bank 9, Juno 7

• Closed book/notes

Page 13: CS110 Wrapup Tuesday, May 11, 2004

wrapup 13

Final Exam• Some questions will refer to WISE system

solution (to be posted) – bring code to class

• Some perfectly predictable questions– what are the tokens, classes, objects, messages, …?– in which class will you find …?– what does this program/line/method do …?

• Improve WISE by adding …

Page 14: CS110 Wrapup Tuesday, May 11, 2004

wrapup 14

Final Exam

• Write HelloWorld.java or some similarly simple program, from scratch

• Boxes and arrows

• Call stack

• Questions with the answer “It depends … ”

• Questions that require you to write sensibly about programs and programming

Page 15: CS110 Wrapup Tuesday, May 11, 2004

wrapup 15

What next?• CS210: Data Structures and Algorithms

– interfaces (more abstract than abstract classes)– lists, trees, stacks, queues– dynamic data, references, equality, cloning– searching, sorting, parsing, evaluating expressions– efficiency considerations– GUI programming– more Java

• CS240: Programming in C– procedural programming (not OOP)– memory layout: bits and bytes, pointers, the stack and

the heap, debugging– introduction to Unix, particularly tools

Page 16: CS110 Wrapup Tuesday, May 11, 2004

wrapup 16

What next?• CS major

– CS210 & CS240, calculus & linear algebra, CS310, CS320, upper level work ...

• Real world– Software development– QA (Quality Assurance = software testing)– IT (Information Technology =

business computing infrastructure)– System administration– Technical writing– Web development/maintenance– Customer support– Your own internet startup company

Page 17: CS110 Wrapup Tuesday, May 11, 2004

wrapup 17

Heaven and Earth

• There are more things in heaven and earth than are dreamt of in your philosophy. (Shakespeare’s Hamlet)

• There are more things dreamt of in your philosophy than are in heaven and earth. (Programmers can invent worlds that never were, nor ever could be.)

Page 18: CS110 Wrapup Tuesday, May 11, 2004

wrapup 18

Thank you• I enjoyed this semester

• Good luck on the exam

• I learned a lot

• I hope you can say the same