1. INTRO
MY GOALS Present the material in a clear, organized way. Note: that doesn't mean easy Expose you to new ideas. Java Data Structures a little Complexity Analysis (big-O notation) Help you when you struggle. Push you to be better developers. Be fair in my evaluations of your performance.
WHAT I NEED FROM YOU Tell me if I'm not meeting my goals…often I don't realize it! Be an active participant in the class. Put in enough time outside of class. Ask questions Freshmen Year: Lots of "hand-holding" Sophomore Year: Be able to ask (well thought out) questions Junior Year: Learn to do independent research / development. Senior Year: Become a life-long learner
WHY JAVA? Very popular #2 adoption rate (June 2014 TIOBE) (after C) Very C++-like, without some of the dangerous / powerful facilities like: General templates Pointers (although Java references are very similar) free/delete (Java has automatic memory management / garbage collection). You still have to do a "new" operation, though. Multiple Inheritance Operator Overloading Very Object-Oriented Graphics / GUI / applet facilities built-in. Very easy to transition from C/C++ to Java Jim wanted to try it :-)
GETTING JAVA I'm using Java SE 8 (Released March 2014) We'll be using the JDK (Java Development Kit). This has the tools necessary to write Java programs. Make sure you don't get the JRE (Java Runtime Environment) It's included in the JDK (your browser's probably already installed it) I'm using NetBeans as the IDE. If you just want just the JDK (you're going to use another IDE / Editor): /jdk8-downloads html /jdk8-downloads html If you want the JDK and NetBeans: /jdk-netbeans-jsp html /jdk-netbeans-jsp html
TENTATIVE SCHEDULE ~1 week making the C => Java transition ~2 weeks looking at Swing and OOP concepts ~10 weeks looking at data structures (~2 weeks each) ~3 weeks for catch-up / snow days / etc.