Fundamental Concepts of Programming Languages
Getting Started
Introduction to the programming language
Programming environment
Print “Hello world”
An example of the combination of variables, functions, expressions, statements, standard Input, and output
Comment. Single line and multiline comments.
Variables and Data Types
Variables
Variable declaration, initialization, assignment.
Variable scope. Local variables and global variables.
Data Types
Data type table by categories
Data type literal (type initialization) examples
Get the type of the variable
Type check
Check null or undefined
Check string type
Check number type
Check object type
Check array type
Check function type
Type conversion
Conversion between bool, integer, float, and string
number to string
string to number
string to float
Type formatting
String formatting. placeholders formatting.
Integer formatting. Add leading zero. Specify length.
Float formatting. fixed-point decimal formatting.
Date formatting. Format date objects by pattern.
String and Array
String
String basic
String declaration and initialization. multiline strings.
Length of string
Lookup
chatAt. the n character of the string
indexOf, lastIndexOf
String check
equals
isEmpty
contains
startsWith, endsWith
matches regex
String conversion
toCharArray
toLowerCase, toUpperCase
String Handling
String concatenation
Substring
replace
trim
split
join
String formatting
Array / List
Array basic
Array declaration and initialization
length of array
Lookup
Access element by index
indexOf
contains
Operations
insert, append
update
remove
Handling
Deep copy
Slice or subarray
Array concatenation
Filter / Map / Reduce (sum, min, max) / Predicate (some, every)
Join
Sorting
Reversion
Deduplication
Conversion
Array to string
Expressions
Arithmetic operators
addition +, subtraction -, multiplication *, division /, remainder/modulo %, exponentiation ^.
Logical operators
and &&, or ||, not !
Comparison operators
equality ==, inequality !=, greater than >, less than <, >=, <=
Bitwise operators
bitwise AND &, bitwise OR |, bitwise NOT ~, bitwise XOR ^, left shift <<, right shift >>
Others operators
Assignment, member access, conditional operator
Operator precedence
Statements
Conditional
if
switch
For loop
while
for
do…while
Exception handling
try…catch…finally
throw
Functions
Function definition
Function call
Argument passing and return value
Modules
Classes and Objects
Object-Oriented Programming
Classes
Class definition
Class members. Constructors. Static and instance members of classes.
Objects
Object construction
Object Deep copy
Inheritance
Standard Library
I/O Streams and Files
Input/Output streams
Input stream types. Bytes input streams, character input streams, buffered input streams.
Output stream types. Bytes output streams, character output streams, buffered output streams.
Read from and write into files.
Read from and write into memory.
Read a text file as string
Non-blocking and asynchronous I/O
Moving data into and out of buffers
Files
File and directory operations. creation, delete, update.
File path.
File information. Mine type of files.
Temporary files and directories.
Container
Container types
List, Set, Map, Queue, Stack
Container Operations
Basic operations
Traversal, print, add elements, remove elements
Conversion
Element type conversion, Container conversion.
Common operations
Merge
Join
Deduplication
Sorting
Reversion
Computation
Reduction
Aggregation and group
Concurrent Containers
Thread and concurrency
Processes and threads
Synchronization.
Liveness. Deadlock and livelock (starvation).
Guarded blocks. wait and notifiy.
Immutable objects. Its state cannot change after it is constructed.
High level concurrency objects. Reentrant lock. Executors and thread pools. Concurrent collections. Atomic variables.
Network programming
Sockets
Web Sockets
Server-sent events
HTTP
HTTP clients.
Download files by HTTP URLs.
Security
Class loaders
User authentication
Digital signatures
Encryption
Advanced Topics
Lambda expressions and Functional Programming
Streams
Stream Creation
The filter, map Methods
Collecting Results
Grouping and Partitioning
Reduction Operations
Parallel Streams
Annotation
Generics
Reflection
Packaging and deployment
Regular expressions
Others
Package manager and create project.
Style Guide
Project structures.
Best practice.
Common libraries
- String handling
- DateTime handling
References
[1] What are the basic fundamental concepts of programming?
[2] C++ Primer, Fifth Edition - Table of Contents
[3] Java SE 8 API
[4] The Java Tutorial: A Short Course on the Basics - Table of Contents
[5] Core Java, Volume I: Fundamentals, 12th Edition - Table of Contents
[6] Core Java, Vol. II-Advanced Features, 12th Edition - Table of Contents