This course will prepare students for developing software programs in Java. The primary purpose of the course is to give students basic knowledge of programming constructs and best practices, which they can utilize for writing desktop programs.
I look forward for an informative and engaging semester with all the students. Details of the course have been listed below. If you have any questions, please post them as comments to this post.
Programming in Java Syllabus:
Introduction of the programming platform, it's main benefits and drawbacks
Motivation for creating the Java platform
Primary benefits of using the Java platform
Drawbacks of the Java platform
Structure of programs on the programming platform (a simple HelloWorld example)
Explain how to create a simple class that will print “Hello World”
Compiling and running a program
Show how to compile and run the HelloWorld program
Explain basic compiler and VM options
Working with primitive data types
Primitive data types, their usage, and sizes
Operators
Explain operators in Java
Explanation of control structures (looping, branching)
Loops: while, do...while
Branching: if, else...if, cond?val1:val2, break, continue, labels, switch, return
Implementation of OO concepts on the target platform
Defining classes
Show how to create a simple class
Explain interfaces and how to create them
Explain namespaces and packages
Support for building abstractions
Support for encapsulation and information hiding
Support for inheritance
Special note on single inheritance in Java and using interfaces
Support for polymorphisms
Compile time and run time polymorphism
Explain polymorphisms with interfaces and classes
Explain abstract classes
Access modifiers
public, private, protected, package friendly
Important keywords and concepts
static, final
String manipulation
Creating strings
Concatenating strings (using + operator, StringBuffer, StringBuilder)
Extracting substrings
Creating constants and their importance
How to create constants in Java, their importance and usage
Working with other commonly used classes
Wrapper classes for primitive data types
The Object superclass
The class Class
Exception handling
Why do we need exceptions
The exception hierarchy in Java
Throwing and catching exceptions
Creating custom exceptions
Working with collections of objects
Working with arrays
Introduction of the collection interfaces (List, Set, Map)
Working with different types of Lists (ArrayList and LinkedList)
Working with different types of Sets (HashSet, and TreeSet)
Working with different types of Maps (HashMap, and TreeMap)
Iterating across collections
Comparing objects and sorting in collections
The Input/Output system
The architecture of the Java IO classes
Reading from and writing to the system console
Binary IO
Character IO
Working with files
Creating desktop user interfaces
Basic UI classes in Java
Layout managers
Event driven programming
Making a simple user interface in Java
Language/platform specific concepts
Automatic garbage collection
Marker interfaces in Java
Serialization
Introduction to inner classes
Introduction to reflection
No comments:
Post a Comment