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