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/10403 • (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 Machine Language • Assembly Language • 1954 FORTRAN & COBOL • 1960 ALGOL, explosion of languages • 1967 Simula • 1970 BASIC & Pascal • 1972 C • 1980 Smalltalk • 1986 C++ • 1995 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 This course teaches how to create applets, but not too difficult to change between application/applet