Learn Coding
Before Getting Started...
IM1003 Object-oriented Programming
- (Week 1) Install JDK
- (Week 3) Install Eclipse
Java Basics
Java OOP
- 3a. OOP Basics
- 3b. OOP Composition, Inheritance & Polymorphism
- 3c. OOP Wrapping-Up
- Exercises: OOP
- 3d. String is Special
Java Graphics
Case Study / Assignment
IM2073 Web Programming
IM2073 Mobile (Android) Programming
How to Install & Get Started...
- JDK 13
- Environment Variables (
PATH
,CLASSPATH
,JAVA_HOME
) - Eclipse IDE 2019-12 for Java
- NetBeans 8.2 for Java
- Eclipse 4.3 (Kepler) for C/C++
- CodeBlocks for C/C++
- Tomcat 7/8/9
- More Tomcat 7
- Apache 2.2 - How to Install
- Apache 2.2 - How to Configure
- Apache 2 with Tomcat 6
- MySQL 8.0
- Git
- Wiki Text
Windows
- Programmer's Survival Guide for Windows
- Windows Basics
- Cygwin & MinGW (for Windows)
- Visual C++ 2010/2008 Express
Unix, Ubuntu Linux & macOS
Android
Arduino
Power User Software Notes
ICPC
- Getting Started
- Tips, Trick & Tweaks
- PC^2 (U/C)
Java Programming - Part I
For First-Time Programmers
For New Comers to Java & OOP
Power Programmers
Java Programming - Part II
Intermediate Java
- 5a. Graphical User Interface (GUI)
- 5b. Graphical User Interface (GUI) Part 2
- 5c. Graphical User Interface (GUI) Part 3
- 5d. Custom Graphics
- Exercises: Graphics Programming
- Case Study: Graphics Programming - Tic-tac-toe
- Case Study: Graphics Programming Part II - AI
- 5e. Applet & WebStart Application
- 5f. Swing - Templates, Misc & How-To
- 5g. JavaFX - Introduction
- 6a. Multithreading
- 6b. Basic Input & Output (I/O)
- 6c. Advanced I/O
- 6d. Networking
- 7a. The Collection Framework, Part 1 (JDK 5)
- 7b. Generics (Since JDK 5)
- 7c. Annotation (JDK 5)
- 8a. Interface, Lambda Expr, Streams & Functional Prog. (JDK 8-11)
- 8b. Collection Framework, Part 2 (JDK 8)
- 9a. Java Module System (JDK 9)
Special Topics in Java
- Java Unit Testing - JUnit & TestNG
- Java Build - Ant & Maven [TODO]
- Calendar, Date and Time
- XML and Java
- Regular Expression (Regex) and Java
- JavaBeans
- Java Logging Framework
- Java Native Interface (JNI)
Java Appendices
- JDK API Documentation
- Packages and CLASSPATH
- Java Archive (JAR)
- Java Miscellaneous How-To
- JDK 5 New Features
- JDK 6 New Features
- JDK 7 New Features
- JDK 8 (LTS) New Features
- JDK 9 New Features
- JDK 10 (18.3) New Features
- JDK 11 (18.9) (LTS) New Features
- JDK 12 (19.3) New Features
- JDK 13 (19.9) New Features
Java ME (Obsoleted)
Java Game Programming
Client-Side Programming
HTML/CSS
JavaScript
- JavaScript Basics
- jQuery & Ajax
- JavaScript/jQuery Advanced Examples
- JavaScript ES6 [TODO]
Client-Side Frameworks
Node.js & Server-Side JavaScript
Database Programming
MySQL
- 1. MySQL 1: How to Install and Get Started
- 2. MySQL 2: By Examples for Beginners
- 3. Relational Database Design
- 4. MySQL 3: Intermediate
- 5. SQL Sample Databases
- 6. MySQL 4: Miscellaneous
JDBC
PostgreSQL
MongoDB
Server-side Programming
Java Servlet/JSP
- 0. How to Install Tomcat and Get Started
- 1. Java Servlets Case Study
- 2. Java Servlets
- 3. Tomcat's Java Servlet Examples Explained
- 4. More on Tomcat
- 5. Java Servlets Case Study Continue
- 6. Getting Started with JSP by Examples
- 7. JavaServer Pages (JSP)
- 8. JavaServer Faces (JSF)
- 9. Java Web Database Applications
- 10. Struts
- 11. Java Web Services
PHP
- 0. Setup AMP (Apache/MySQL/PHP)
- 1. PHP Basics
- 2. PHP/MySQL Webapps
- 3. OOP in PHP
- 5. PHP Miscellaneous
- 6. PHP Unit Testing
Perl
Python
Webapps
Basics
Testing
Security
Misc
3D Graphics & OpenGL
Setup on Various Platforms
Computer Graphics with OpenGL
- CG 1. Introduction to OpenGL
- CG 2. Computer Graphics - Basic Theory
- CG 3. OpenGL Examples
- CG 3. Computer Graphics - Curves & Surfaces [TODO]
- CG 4. OpenGL Shading Language (GLSL) [TODO]
- References & Resources
OpenGL|ES
Physics Engine
C/C++ Programming
C++ Programming Language
- 0. C++ Introduction
- 1. C++ Basics
- 2. C++ More Basics
- 3. C++ OOP Basics
- 4. C++ Pointers, References & Dynamic Allocation
- 5. C++ OOP Examples
- 6. C++ OOP Inheritance & Polymorphism
- 7. C++ Operator Overloading
- 8. C++ Template & Generic Programming
- 9. C++ Strings
- 10. C++ Libraries & STL
- 11. C++ IO Streams & File IO
- 12. C++ Misc, Tips & Traps
- 13. Data Structure and Algorithm in C++