Java & Scala Internet Programming HIT Spring 2011
Meeting | Date | Abelski Course | Topics | Remarks |
1 | 14.02.11 | Developing Java SE Applications | Developing Java SE Applications: Introductions; Let’s Start; The Basics; Introduction to OOP; Object Oriented Programming; Arrays & Strings; Inheritance; | 1. You should install JDK on your computer. You can follow the small clips at ‘Developing Java SE Applications’. 2. You should complete all assignments in all topics. 4. You can install the Eclipse IDE. You can find few video clips that explain how to work with the Eclipse both at www.javabook.co.il and at www.abelski.com (within the ‘Java SE Developers Guide to Eclipse’). You should download ‘Eclipse IDE for Java Developers’ at http://www.eclipse.org/downloads/. Towards next meeting I strongly recommend you to read and watch the relevant clips about threads and inner classes. You can find clips both in hebrew (www.javabook.co.il) and in english (www.abelski.com). |
2 | Developing Java SE Applications; Java SE Design Patterns; | Developing Java SE Applications: Inner Classes; Applets; Exceptions Handling; I/O Streams; Java 2 SE Design Patterns: Structural Patterns; Behavioral Patterns; Creational Patterns; Concurrency Patterns; | You should complete all assignments in all topics except for GUI using AWT and Applets. Towards next meeting I strongly recommend: 1. You watch the video clip that explains basic GUI and Events Handling (in Hebrew) at http://javabook.co.il/wp/?p=118 2. You watch the video clip that explains networking (in Hebrew) at http://javabook.co.il/wp/?p=193 3. You watch the two video clips that explain reflection (in Hebrew) at http://javabook.co.il/wp/?page_id=64 There are (of course) the other clips and the other slides of the other topics... I recommend coming ready with those as well. In the Java SE Design Patterns you are not required to know all patterns. Just the ones for which I created video clips at www.JavaBook.co.il. | |
3 | Developing Java SE Applications; Java SE Reflection Introduction; | Developing Java SE Applications: Thread, Networking, Java Utilities, GUI using AWT; Events Handling;Java SE Reflection Introduction: Introduction; The ‘Class’ Class; The Class Members; The Array Type; | You should complete all assignments in all topics. The following assignments are not mandatory: Threads questions about the new classes Networking the Chat System isn;t for next meeting. Next meeting we will explain it. this is the question the quiz refers to. AWT please don’t read the slides and don’t do any assignment. | |
4 | Java SE Assertion Facility; | Java SE Assertions Facility: Introduction to Assertions;Using Assertions; Assertion Examples; Java SE Collections Framework: Introduction; Performance; Set; List; Queue; Map; Java SE Swing Introduction: Introduction; Events; Handling; MVC Architecture; Basic; Components; Toggle Buttons; Menu & Toolbars; Borders; Containers; Pop Ups; Layout Managers; Advanced Containers; Bounded; Range Components; List Model; Components; Spinner Model; Components; Text Based Components; The Tree Component; The JTable Component; Java SE Images Processing:Threads Issues; | You should complete all assignments in all topics. The ‘Swing Introduction’ course covers a huge range of capabilities. You can (at this stage) avoid delving into it. In terms of priorities it can wait. The same with ‘Images Processing’. Your understanding in these two topics will be tested in the final project. | |
5 | Generics; | Java SE Generics Introduction | You should complete all assignments in all topics. | |
6 | Java SE JDBC Introduction; | Java SE JDBC Introduction: Introduction to JDB; Database Transactions; Simple Statements; Prepared Statements; Callable Statements; ResultSet Processing; Introduction To Ant: The Apache Ant; Installation Guide; Using The Apache Ant; | You should complete all assignments in all topics. | |
7 | Java SE Core Web Services | Introduction to JUnit: Eclipse and JUnit; The JUnit Assertions; Core Web Services: Introduction to XML in Java SE; Java API for XML Web Services (JAXWS); Java Architecture for XML Binding (JAXB); REpresentational State Transfer Web Services (REST); Java API for XML Processing (JAXP); | You should complete all assignments in all topics. | |
8 | Java SE Efficient Programming; | Java SE Efficient Programming: | You should complete all assignments in all topics. | |
9 | Introduction to Maven JNI Basics; | Introduction To Maven: Jump Start; Build Life Cycle JNI Basics: Introduction to AOP; AspectJ Jump Start; The Joint Point Model; Introduction; Persistence; Mapping Hibername Fundamentals | You should complete all assignments in all topics. | |
10 | Scala Fundamentals | Introduction; Basics; Objects & Classes; Operators; Control Statements; | You should complete all assignments in all topics. | |
11 | Scala Fundamentals | Functions; Closures; Inheritance; Hierarchy; Traits; Packages; Assertions; Unit Testing; Exceptions Handling; Collections; | You should complete all assignments in all topics. | |
12 | Scala Fundamentals | Patterns Matching; Control Structures; Type Parametrization; Abstract Members; Stateful Objects; Types Conversions | You should complete all assignments in all topics. | |
13 | Scala Fundamentals | Annotations; Scala & XML; Java Integration; Objects Comparisons; Extractors; Concurrency; | You should complete all assignments in all topics. |
URL Links Summary
http://www.abelski.com
This is the web site on which you can find most of the training material, including the slides, the assignments and the solutions for most of them. In addition, please note the video clips each relevant course includes.
This web site includes short hebrew tutorial together with links for small video clips in hebrew hosted on youtube. This resource covers the basic topics in Java only.
This is where you should download and install the JDK. This site includes many more resources relevant for our course. You can find guidelines for installing the JDK at ‘Java SE Applications Development’ course at www.abelski.com.
This web site is where you can download the Eclipse IDE. In addition, you can find in this web site many more resources relevant for using the Eclipse, such as tutorials and a detailed overview of this IDE.
http://www.scala-lang.org
This is Scala main web site. In this web site you can download the Scala SDK as well as many other relevant resources for using this software programming language.
http://java.sun.com/javase/6/docs/api/
This is the Java AP online documentation. This is your best friend during the course and afterwards, as far as it concerns for Java programming.
Quiz (20% of Final Mark)
The quiz has three parts and it lasts 45 minutes. The first part includes short questions about design patterns and their implementation in Java. In order to get ready for this part you should watch all video clips (in hebrew) that explain the available design patterns in Java. The ones you can find at www.javabook.co.il. The second part includes short questions about the chat application you developed (it is one of the assignments u need to complete in the networking topic). The third part includes questions (american, yes/no and short ones) in the same style you can find in the Oracle Certified Professional Java Programmer certification exam. The topics are listed below.
Topics for Tricky Questions Section in Quiz: 2,3,4,5,6,8,11,12,13
http://zindell.com/joomla/index.php?option=com_content&task=view&id=40&Itemid=47
In addition you should learn for tricky questions in the following topics: assertions, generics
You can find tricky questions about generics at sites such as http://jira.javablackbelt.com/. You can also find questions in book that prepare for Java certifications.
Final Project submission date is July 20th 23:59 (5pts bonus for creating a word document)
###