DOC PREVIEW
Penn CIT 590 - CIT 590 LECTURE NOTES

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

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 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 10 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 10 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Welcome to CIT 590LabsAbout this courseVersions of JavaWhat’s ahead?What does that mean for CS?Java is a terrible languageComparison with other languagesHow to get a good grade in hereThe EndJan 14, 2019Welcome to CIT 590http://www.cis.upenn.edu/~matuszek/cit590-2009.html“Duke”2LabsOn Fridays we have lab (not “recitation”) in Moore 207 (not in Towne 313)If you are registered for this course, you should be able to log in in Moore 207Before you come to lab on Friday, go to Moore 207 and make sure you can log in thereIf you can’t, contact CETS immediatelyThe lab is a required part of this courseIf you cannot make it to a particular lab, you must let me know in advance, otherwise it will cost you points3About this courseI’m your instructor, David Matuszek (muh-TOOZ-ik)I prefer “Dave” or “Dr. Dave”This is a beginning programming courseThe programming language we are using is Java 6The IDE (Integrated Development Environment) we are using is Eclipse (Classic version)There are two basic goals:1. Teach you to program (that is, write programs that work)•This is a skill, and requires practice2. Teach you to program well (that is, write programs that aren’t total crap)•This is more nearly an art4Versions of JavaJava 1Java 2Java 5.0Oak: Designed for embedded devicesJava 1.1: Adds inner classes and a completely new event-handling modelJava 1.2: Includes “Swing” but no new syntaxJava 1.3: Additional methods and packages, but no new syntaxJava 1.4: More additions and the assert statementJava 1.5: Generics, enums, new for loop, and other new syntaxJava: Original, not very good version (but it had applets)Java 6 (=1.6): A few new features, mostly at the advanced level5What’s ahead?Half-life of CS knowledge: about 5 yearsTypical length of career: about 40 yearsWhat does this tell you?Nobody expected: personal computers, graphical user interfaces, the mouse, the World Wide Web, the popularity of Java, the ascendance of XML, the DMCA, Amazon, Google, etc.There is only one safe prediction:You will be taken by surprise!6What does that mean for CS?What can we ask you to build in your classes?What will be expected of you in industry?We teach skyscraper-level skills, butwe ask you to apply those skills to doghousesit’s silly, but what alternative do we have?It’s up to you: When you leave here,will you be able to build skyscrapers?or will you just be very good at building doghouses?7Java is a terrible language...That is, Java is a terrible first languageYour first programming language should be simple, so that you can concentrate on learning the conceptsJava is designed primarily for power, and only secondarily for simplicityJava is relatively elegant, for the amount of power it hasThis means:Java is more difficult to learn than many other languagesIn exchange, Java is a workhorse language that you can use in the so-called “real world”But this does not mean Java is the only language you will ever need!Java may be nearing the end of its popularity curve8Comparison with other languagesJava is somewhat less complex than C++ and C#Java is more complex than C, but in different waysJava is much more complex than Basic or PascalIt is mathematically provable that anything you can compute in one programming language, you can compute in (almost) any other programming languageHence, Java = C++ = C# = Basic = Pascal = C = Python =...However, “possible”  “practical”In practical terms, you can do a lot more in Java than in BasicJava is a powerful general-purpose languageIn the future you are likely to use many special-purpose languages that are better for certain tasks than Java or its competitors9How to get a good grade in hereStart your assignments early!This is the first and most important way to improve your gradesProgramming takes a lot of timeIt’s not easy to predict how long a program will takeWork with your partner--help, and let yourself be helpedTest your programs thoroughlyOne or two simple tests are not enoughWe often provide simple but incomplete tests, just to get you startedWe will do thorough testing, even if you don’t!Read the assignments carefullyDo what is assigned, not “something like” what is assignedLearn to use your tools (Eclipse, JUnit, etc.)Use comments and good style right from the beginning, not as a last-minute additionTo prepare for tests, review and understand the lectures10The EndHe who works with his hands is a laborer.He who works with his hands and his head is a craftsman.He who works with his hands and his head and his heart is an artist. -- St. Francis of


View Full Document

Penn CIT 590 - CIT 590 LECTURE NOTES

Download CIT 590 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 590 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 590 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?