DOC PREVIEW
Penn CIT 594 - CIT 594 LECTURE NOTES

This preview shows page 1-2-3-4 out of 12 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Intro to CIT 594PrerequisitesWhat the course is aboutTextbookJava in this courseJava CollectionsAlgorithmsAnalysis of algorithmsAssignmentsGradingOffice hours and (no) labsThe EndIntro to CIT 594http://www.cis.upenn.edu/~matuszek/cit594-2009.html2PrerequisitesThe formal prerequisite is CIT 591CIT 591 was primarily a course in JavaIf you did not take CIT 591...You must be a reasonably good Java programmer, including programming applications, applets, and SwingYou must be familiar with, or prepared to learn quickly: JUnit testingThe Eclipse IDEYou are expected to have good Java programming styleOther programming languages can not be used as a substitute for Java3What the course is aboutThere are four main, interrelated topics in CIT594:RecursionData structuresAlgorithmsAnalysis of algorithmsIn addition, we will continue to explore good programming practicesGood programming styleGood habits, such as creating test casesUse of tools, such as NetBeans and JUnit 4It will also be necessary to cover more JavaTextbookThis book has good coverage of the data structures and algorithms that we will be usingIt is intended to supplement my lectures5Java in this courseThis is a course in algorithms and data structures, not a second course in JavaBut...Java 6.0 will be the primary programming languageWe will study Java Collections in detail, as they are extremely relevant to the courseYou will be expected to use NetBeans 6.0 or newerIf you have used Eclipse, you will find NetBeans to be very similarNetBeans has an integrated profiler which we will use6Java CollectionsJava Collections implement many of the most important data structures for youA traditional data structures course would have you implement these yourselfI don’t believe in re-inventing the wheelHowever, you need to know how these data structures are implemented, for the times when you need something more than Java gives you7AlgorithmsThere are literally thousands of published algorithmsWe will cover: a few algorithms that are related to the data structures we are studyinga few more algorithms that your instructor especially likesIt’s almost always better to find an existing algorithm than to re-invent it yourself8Analysis of algorithmsAnalysis of algorithms is a relatively small part of this course, but it’s an important partAnalysis can tell you how fast an algorithm will run, and how much space it will requireA good algorithm, even if badly coded, can run circles around a poor algorithm that is carefully tuned and highly optimizedAssignmentsExcept as otherwise noted, all assignments:Should be done in EclipseShould include complete JUnit tests for non-GUI, non-I/O classes, andShould include complete javadoc documentation for non-private entitiesMust be submitted via Blackboard; email will not be acceptedThere may (or may not) be some team assignmentsPartners are assigned by the instructorWe do not have a laboratory sectionYou will do some assignments by yourselfYou may discuss the assignments with other studentsYou may help (and get help with) debuggingYou may not give your source code to anyoneLate assignments will lose 5 points per day, and may or may not be accepted if more than a week late10GradingWe will have:Approximately one assignment per weekOne midtermOne final examGrades will be curvedWe will use Blackboard to turn in assignmentsGrades will be weighted as follows:50% assignments20% midterm30% final examIf you feel a grading error has been made, you have one week after grades have been posted to bring it to our attention11Office hours and (no) labsI avoid making appointmentsI have an open door policy: If my door is open, I’m availablePosted office hours are just the times that I try hard to be in my office, not the only times you can talk to meThe TA will also have office hoursWe will not have extra help sessions or labs this semester12The


View Full Document

Penn CIT 594 - CIT 594 LECTURE NOTES

Documents in this Course
Trees

Trees

17 pages

Searching

Searching

24 pages

Pruning

Pruning

11 pages

Arrays

Arrays

17 pages

Stacks

Stacks

30 pages

Recursion

Recursion

25 pages

Hashing

Hashing

24 pages

Recursion

Recursion

24 pages

Graphs

Graphs

25 pages

Storage

Storage

37 pages

Trees

Trees

21 pages

Arrays

Arrays

24 pages

Hashing

Hashing

24 pages

Recursion

Recursion

25 pages

Graphs

Graphs

23 pages

Graphs

Graphs

25 pages

Stacks

Stacks

25 pages

Recursion

Recursion

25 pages

Quicksort

Quicksort

21 pages

Quicksort

Quicksort

21 pages

Graphs

Graphs

25 pages

Recursion

Recursion

25 pages

Searching

Searching

24 pages

Counting

Counting

20 pages

HTML

HTML

18 pages

Recursion

Recursion

24 pages

Pruning

Pruning

11 pages

Graphs

Graphs

25 pages

Load more
Download CIT 594 LECTURE NOTES
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CIT 594 LECTURE NOTES and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CIT 594 LECTURE NOTES 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?