2/23/2017 yetanotherinsignificantProgrammingNotes
yet another insignificant...
programming notes
How- Client- Server-
| Java | Database | | | Webapp | Game | OpenGL | C/C++ | Android
To Side Side
Before Getting Started... Java Programming Part I
Programmer's Survival Guide for Windows For FirstTime Programmers
Programmer's Survival Guide for Mac & Ubuntu 1. Introduction to Java Programming
For New Comers to Java & OOP
IM1003 Objectoriented 2. Java Basics
Programming Exercises: Java Basics
How to install JDK 8 3a. OOP Basics
Week 3 Eclipse OR NetBeans 3b. OOP Composition, Inheritance & Polymorphism
Java Basics 3c. OOP WrappingUp
1. Introduction to Java Programming Exercises: OOP
2. Java Basics 4a. String is Special
Exercises: Java Basics 4b. Enumeration enum
4c. Exception Handling & Assertion
Java OOP
4d. Java Reference
3a. OOP Basics
3b. OOP Composition, Inheritance & Polymorphism
Power Users
3c. OOP WrappingUp
Exercises: OOP Data Representation Integers, FloatingPoint
Numbers & Character Sets
4a. String is Special
Regular Expression Regex
Java Graphics
5a. Graphical User Interface GUI
Java Programming Part II
5b. Custom Graphics
Intermediate Java
Exercises: Graphics Programming
5a. Graphical User Interface GUI
Case Study / Assignment
5b. Graphical User Interface GUI Part II
Graphics Programming Assignment Sudoku
5c. Custom Graphics
Graphics Programming Assignment Mine Sweeper
Exercises: Graphics Programming
Case Study: Graphics Programming Tictactoe
Case Study: Graphics Programming Tictactoe
Case Study: Graphics Programming Part II AI
IM2073 Web Programming 5d. Applet & WebStart Application
Session 1: How to Install MySQL Server and Get 5e. Swing Templates, Misc & HowTo
Started with SQL 6a. Multithreading
Session 2a: Introduction to Java Database 6b. Basic Input & Output I/O
Programming
6c. Advanced I/O
https://www.ntu.edu.sg/home/ehchua/programming/#Java 1/5
2/23/2017 yetanotherinsignificantProgrammingNotes
Session 2b: How to Install Tomcat Server and Get 6d. Networking
Started with Java Servlet Programming 7a. The Collection Framework
Session 3: WebApp Case Study 7b. Generics
7c. Annotation
IM2073 Mobile Programming
Special Topics in Java
Project Instructions Java Unit Testing JUnit & TestNG
Session 1: Android How to install & Get Started Java Build Ant & Maven [TODO]
Session 2: Android Basics: User Interfaces and Calendar, Date and Time
Activities
XML and Java
For your project: Android Networking
Regular Expression Regex and Java
JavaBeans
How to Install & Get Started... Java Logging Framework
JDK 8 Java Native Interface JNI
Environment Variables PATH, CLASSPATH,
Java Appendices
JAVA_HOME
JDK API Documentation
Eclipse 4.6 for Java
Packages and CLASSPATH
NetBeans 8.2 for Java
Java Archive JAR
Eclipse 4.3 Kepler for C/C++
Java Miscellaneous HowTo
CodeBlocks for C/C++
JDK 1.6's New Features [TODO]
Tomcat 7/8
JDK 1.7's New Features
More Tomcat 7
Apache 2.2 How to Install
Java ME
Apache 2.2 How to Configure
Apache 2 with Tomcat 6 1. Java ME: Getting Started, Basics & Game
Programming
MySQL 5.7
MySQL 5.6
Git Java Game Programming
Wiki Text 1. Introduction: The World of Bouncing Balls
NTU VPN 2. 2D Graphics, Java 2D and Images
3. Playing Sound
Windows
4. Java Game Framework
Programmer's Survival Guide for Windows
Windows Basics
Cygwin & MinGW for Windows ClientSide Programming
Visual C++ 2010/2008 Express HTML/CSS Basics
HTML/CSS Intermediate
Unix, Ubuntu Linux & Mac OS
HTML/CSS Tips & HowTo
Programmer's Survival Guide for Mac & Ubuntu
JavaScript Basics
Unix Basics
jQuery & Ajax
Ubuntu Desktop Install & Setup
JavaScript/jQuery Advanced Examples
Ubuntu Server Install & Setup
HTML5/CSS3 Advanced Features
Mac OS JDK, MySQL, Tomcat...
Bootstrap, Font Awesome, Parsley and Others
Error Messages
Angular JS
Common Error Messages JDK, MySQL, Tomcat....
https://www.ntu.edu.sg/home/ehchua/programming/#Java 2/5
2/23/2017 yetanotherinsignificantProgrammingNotes
Android Database Programming
Android How to install & Get Started MySQL
Android Basics and User Interfaces 1. MySQL 1: How to Install and Get Started
Android More Basics 2. MySQL 2: By Examples for Beginners
Android Custom 2D Graphics 3. Relational Database Design
Android 3D Graphics in OpenGL ES 4. MySQL 3: Intermediate
Android Networking 5. SQL Sample Databases
Android Native Development Kit NDK 6. MySQL 4: Miscellaneous
JDBC
Arduino 1. Introduction to Java Database Programming
JDBC
Arduino Get Started
2. Intro to JDBC Part 2
3. JDBC Intermediate
Software Notes
PostgreSQL
Recommended Shareware/Freeware
1. PostgreSQL: Get Started
Windows, Office, Firefox, Dreamweaver & Others
Serverside Programming
ICPC
Java Servlet/JSP
Getting Started
0. How to Install Tomcat and Get Started
Tips, Trick & Tweaks
1. Java Servlets Case Study
PC^2 U/C
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
1. Perl Basics
2. Regular Expression, File IO & Text Processing
Python
1. Python Basics
https://www.ntu.edu.sg/home/ehchua/programming/#Java 3/5
2/23/2017 yetanotherinsignificantProgrammingNotes
2. Python Database & Webapp
3. Python Webapp with Flask
Node.js
1. Node.js Basics
Webapps
Basics
Terminology
Testing
Webapp Acceptance Testing with Selenium
Security
Advanced Webapps Security
Misc
Advanced Webapps Tips
Web Protocols
HTTP 1: Basics
HTTP 2: State Management
HTTP 3: Authentication
HTTP 4: SSL
3D Graphics & OpenGL
Setup on Various Platforms
OpenGL in C/C++
JOGL 2.0|JOGL 1.1
LWJGL 2.8
Java 3D
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
3D Graphics in OpenGL ES for Android
Physics Engine
Bullet Physics & JBullet Physics Engine
C/C++ Programming
https://www.ntu.edu.sg/home/ehchua/programming/#Java 4/5
2/23/2017 yetanotherinsignificantProgrammingNotes
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++
C Programming Language
0. C Introduction
1. C Basics
C/C++ Compilers and IDEs
GCC and Make
CodeBlocks for C/C++
Eclipse for C/C++
Visual C++
Last modified: January, 2017
Feedback, comments, corrections, and errata can be sent to Chua HockChuan ehchua@ntu.edu.sg |TOP
These are my teaching notes which I share with anyone interested. I update some articles more often than others, based on feedback
received on the usefulness of the articles.
https://www.ntu.edu.sg/home/ehchua/programming/#Java 5/5