TCU CoSc 10403 Introduction to Programming (with Java) Course Introduction Agenda • Roll • Course Overview – Finding information (www.cs.tcu.edu/classinfo) – Getting help (instructor & TA’s) – Succeeding in the course • (study + hard_work + programming) = success • Computer Accounts - everyone MUST have a TCU computer account (not Gmail, not HotMail, etc.)!!! • Turn cellphones OFF – no texting, emails, or phonecalls! • Programming and Java Background - no assumption is made about previous programming experience! Course Overview • Programming – For the Web (Java Applets) – GUIs (using Swing classes) • Object-oriented paradigm • Problem solving • Learn by doing – Demonstrate through • labs, experiments and exams • Time intensive and unforgiving!!! Sources of Information & Help • Programming Help – Textbook – Instructor (initial help sessions in TTC 335 - next Tuesday) – Lab assistants • Account help – Information Services • Course information – http://www.cs.tcu.edu/10403/ • Your classmates – discuss syntax, design, debugging – deliverables are your own work! • Sun Microsystems & web (www.java.com/en/) • Eclipse IDE: www.eclipse.org/ and http://www.eclipse.org/downloads/ (select your platform) For Next Tuesday’s Class Period – without fail!!!! (1) Go to the class website: http://www.cs.tcu.edu/10 403 (2) Explore the website links. (3) Bring the copy of the Eclipse tutorial with you to class next period – we will meet in TTC 353 – DON’T Forget!! Accounts and Software • TCU Computer Accounts – Information Commons area of the library (1st floor) • Software – Eclipse IDE - Java component – Internet Explorer – TURNIN • Locations – TTC Labs (353 & 357) – Library PC Lab (first floor) Succeeding in the course • Make backups of your files • Keep up with assignments and reading • You can’t learn by just reading – Riding a bike – Playing the piano – Programming • The machine is the master About Java • Designed and implemented by Sun Microsystems, Inc. • A very young language - 1st brought to the attention of the public in 1995. • Designed as a device independent language (originally named Oak) for use in consumer electronic devices (microwaves ovens, smart TV’s, thermostats, etc.) • In 1992/93 the WWW arrived - since the language was device independent, Sun soon realized that Java would be suitable for writing programs to run on different computers connected to the Internet. • It was the 1st language to provide features to allow programs to be downloadable as part of a web page (and run on a user’s computer). Java: Just Another Vague Acronym? • Originally called Oak by James Gosling – For internet appliances (interactive TV,…) • Inspiration was a large oak tree outside his office • But Oak was the name of an existing programming language • Inspiration struck one day during a trip to the local coffee shop • DNA and Silk were suggested for the trademark search. Someone said “We might as well suggest something as silly as ... Java.” History of Programming Languages • • • • • • • • • • 1940s 1954 1960 1967 1970 1972 1980 1986 1995 Machine Language Assembly Language FORTRAN & COBOL ALGOL, explosion of languages Simula BASIC & Pascal C Smalltalk C++ Java Why learn Java? • Simple (relatively!) – programmers can grasp the concepts in a short span of time and start producing good applications quickly • Object-oriented – programmers have access to ready-made and tested object libraries • Automatic storage management – no pointers; garbage collection built in • Secure – security model prohibits certain types of access • Architecture neutral – Java Virtual Machine (JVM) can be installed on any platform • Ease of migration – looks and feels like C++ More about Java • The language is small in size and simple to learn. • The power of the language comes from the extensive library of software components that have already been developed and are available for use. • Java programs consist of pieces called “classes”. • There are two things to master in order to learn to program in Java: – Learning the Java language itself so that you can program your own classes, and – Learning what is already available in the extensive Java class libraries and how to use them. • The language can be used to develop both “stand alone” applications and “applets”. Java application vs. applet • Application – Stand alone (e.g. MS Word, Firefox, …) • Applet – Embedded in a web page 13 This course teaches how to create applets, but not too difficult to change between application/applet