Published using Google Docs
JAVA_SCALA_SPRING_2011_HIT
Updated automatically every 5 minutes

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.
3. You should read the hebrew texts and watch the relevant vide clips at
www.javabook.co.il following 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 Collections Framework; Java SE Swing Introduction;
Java SE Images Processing;

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;
XML Fundamentals;

Java SE Generics Introduction
Introduction; Subtypes; Wildcards; Indepth;
XML Fundamentals: Introduction to XML, XML Syntax, XML Validation, Display XML, Document Object Model

You should complete all assignments in all topics.

6

Java SE JDBC Introduction;
Introduction To Ant;
The JUnit Framework;
Introduction to Maven;

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
Log4J

Introduction to JUnit: Eclipse and JUnit; The JUnit Assertions;
Log4J Basics
: Introduction; Architecture; Configuration

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

(quiz)

Java SE Efficient Programming;
Java SE Annotations Facility

Java SE Efficient Programming:
Introduction to Efficiency; Declaring Classes; Objects Instantiations;
Using Strings; Declaring Interfaces; Using Generics; Using Enums; Using Annotations; Handling Exceptions; Threads Programming;
Collections Usage;

Java SE Annotations Facility:

Introduction to Annotation; Annotations Syntax; Standard Annotations; Annotation Processing;

You should complete all assignments in all topics.

9

Introduction to Maven
Java SE Regular Expressions;
Java SE JDNI Introduction;

JNI Basics;
AspectJ Fundamentals;
Mongo Basics;
Hibernate Fundamentals;
Introduction to JAAS;

Introduction To Maven: Jump Start; Build Life Cycle
Java SE Regular Expressions:
Introduction; Character Classes; Logical Operators; Quantifiers; Capturing Groups; Boundary Matches; The Pattern Class; The Matcher Class;
Java SE JDNI Introduction
: Introduction to JNDI; JNDI Naming Operations; JNDI Directory Operations;

JNI Basics:
Introduction to JNI; Jump Start;
AspectJ Fundamentals:

Introduction to AOP; AspectJ Jump Start; The Joint Point Model;
Introduction to JAAS: Introduction to JAAS; Authentication; Autharization;
MongoDB Basics
Introduciton; Jump Start; CRUD Operations; Querying; Indexing;
Hibernate Fundamentals

Introduction; Persistence; Mapping

Hibername Fundamentals
Mapping; Sessions; Queries

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;
Lists;

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.

http://www.javabook.co.il

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.

http://java.sun.com

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.

http://www.eclipse.org

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)

###