This course is designed for the students who want to learn Java without any programming experiences before. We will start with the very beginning of program design and fundamental concepts about programs and machines. You are expected to be capable to implement your idea in Java independently after 30 hours of lectures. Furthermore, I wish you could learn other programming languages without suffering from starting over.
Date | Key points and memo | Sample code |
---|---|---|
2016.10.15 | programs, computational solutions, computer systems (CPU, memory, memory hierarchy), algorithms, programming languages (high-level, assembly, machine code), JDK + Eclipse; | HelloJava.java; |
2016.10.16 | binary system, variables, data types (int, double, char, boolean), type conversion, arithmetic/rational/logical operators; | ComputeArea.java; |
2016.10.22 | selections (if-else, switch-case, ?: operator), loops (while, do-while, for); | SimpleStatistics.java; |
2016.10.23 | nested loops, analysis of algorithms; | MonteCarloPI.java, BisectionDemo.javaa, isPrimeDemo.java, MultiplicationTableDemo.java, StarDemo.java; |
2016.10.29 (by Miguel Lok) | arrays, for-each loops, sorting algorithms, searching algorithms, methods, call stack, variable scope, method overloading, recursion; | |
2016.10.30 (by Miguel Lok) | ||
2016.11.5 | classes & objects, fields and methods, encapsulation, constructors, this operator, static members; | PointDemo.java, FinalizeDemo.java; |
2016.11.6 | HAS-A relationship (aggregation and composition), IS-A relationship, inheritance, method overriding, (subtype) polymorphism, up/down casting, binding, abstract classes, abstract methods, final, interfaces; | TriangleDemo.java, Polymorphism.java; |
2016.11.12 | packages, nested classes, anonymous classes, classpath, JAR, exception handling, file I/O, GUI design, event handling, multithreading; | IOExceptionDemo.java, ComputeArea.java, UserDefinedExceptionDemo.java, FileDemo.java, FirstGUI.java; |
2016.11.13 | final exam; feedback sheet; some reference books (ref1, ref2, ref3) available until 2016/11/15; | Problem1.java, Problem2.java, Problem3.java; |
TBA