During the summer semester I am going to deliver a Java & Scala Programming course in Shenkar. I deliver it as part of Shenkar’s Software Engineering BSc academic program. I am going to teach it on Thursdays 0800-2000.
The course starts with a detailed coverage of the Java SE programming language and continues with a detailed coverage of Scala.
The topics we are going to cover in Java include the following:
Basic Programming
Object Oriented Programming
Arrays and Strings
Inheritance
Inner Classes
Applets
Exceptions Handling
Threads
GUI using AWT
GUI using Swing
I/O Streams
Networking
Java Utilities
Introduction to JAAS
Java SE 5
Java SE 6
Annotation
Assertion
Collections Framework
Core Web Services
Efficient Programming
Generics
Internationalization
JDBC
JNDI
Reflection
Regular Expressions
JUnit
Hibernate
Log4J
Ant
Maven
Design Patterns
AspectJ
JNI
MongoDB
The topics we are going to cover in Scala include the following:
Introduction
Scala Basics
Classes & Objects
Operators
Control Statements
Functions
Closures
Control Structures
Inheritance
Scala Hierarchy
Traits
Packages
Assertions
Unit Testing
Pattern Matching
Collections
Stateful Objects
Type Parameterization
Abstract Members
Types Conversions
Extractors
Annotations
Scala & XML
Objects Comparison
Java Integration
Concurrency
Most of the slides and the other training material of this course can be found at www.abelski.com which is available for free personal and academic usage.
The google group I have just started for this course can be found at https://groups.google.com/forum/#!forum/shenkar-scala-summer-2012.
The detailed plan can be found at https://docs.google.com/spreadsheet/pub?key=0AhDgrQD6qivLdG9rTk5GNHFBRVBydlZ0V0FMd0NnU1E&output=html.
The syllabus can be found at http://www.lifemichael.com/shenkar/SHENKAR_BASIC_JAVA_201207.pdf.
Towards the course you should install (on your personal computer) the following software:
1. Java 2 SDK 7 (http:/www.oracle.com)
2. Scala SDK 2.9 (http://www.scala-lang.org)
3. Eclipse IDE for Java Developers (http://www.eclipse.org)
4. IntelliJ Community Edition (http://www.jetbrains.com)