At a glance
- 4 lecture hours per week
- 4 credits
Prerequisites
Topics Covered
- Introduction to Java features and their use in various applications
- Java Virtual Machine (JVM), Java development environment, Java application types
- Introduction to BlueJ environment, building a Java project
- Building simple Java programs, static variables, array of objects, various constructors
- Primitive data types, typecasting, automatic promotion
- Operator precedence/associativity, Java operators, side-effects
- Classes, objects, stack/heap memories, reference types, wrapper classes
- Method parameters, packages, namespaces, classpath
- Inheritance, super/sub classes, design hints for inheritance
- Interfaces and inner classes, building sample programs
- Designing and building software using the concepts learnt so far (UML syntax)
- Applying OOAD concepts to real-life problems
- Lists, stacks, queues, generics, collections, arraylists, hashmaps Garbage collection mechanisms and optimisation techniques for performance
Learning Resources
- Flanagan, D. (2005). Java in a nutshell. O’Reilly Media, Inc.
- Horstmann, C. S., & Cornell, G. (2002). Core Java 2: Volume I, fundamentals. Pearson Education.