I have created this repository for myself, but you are free to read anything from here. What is this repository you may ask? Here I created different "readme" files about programming, a more "in-depth" view of how programming works. These are the answears to some questions/concerns that I had in the past. By doing this, not only I inform myself about this, I also can come back to remember/read more.
- FIRST YEAR
- Programming language I - high vs low-level, machine code, compiler, assembler, linker, interpreter, object file
- Programming language II - design & implementation, programming paradigms, types of programming languages, IDE
- Basic terms I - namespace, pass by value, pass by reference, OOP, class, instance, object, encapsulation, data abstraction, interface, ADT
- Programming principals I - Single-responsibility principle
- Programming principals II - Separation of concerns
- GRASP - GRASP + GRASP in layered architecture, high cohesion, low coupling, information expert, controller, protected variations, creator, pure fabrications
- Domain driven design - DDD, entity, value object, aggregates, DTO
- UML I - basics - definition, Structural UML diagrams
- UML II - Class diagram - class diagram, multiplicity, visibility, relationships, association, aggregation, composition, inheritance, dependency, realization
- Computational Complexity - time, space, complexity as a function of input size, efficiency of a function, "Big-O" notation, "Omega" notation, "Theta" notation
- SECOND YEAR
- Java (MAP)
- About java - JDK, JVM, JRE
- OOP Concepts - Object, Class, Class(Modifiers, Method Overloading, Method Overriding), Encapsulation, Inheritance, Polymorphism, Abstraction, Interface
- Type casting - Primitive conversions(Widening/Narrowing casting), Reference variable casting(upcasting/downcasting, polymorfism, overriding)
- Exceptions java
- Generics - Why Use Generics?, Generic Methods, Generic Classes, Bounded Type Parameters, Wildcards, Erasure, Restrictions on Generics
- Computer Networks
- OSI Model - the 7 layers
- Devices - Analog modem, Hub, Switch, Wireless Access Point, Router
- Socket Programming
- IP Addressing
- IP Datagram
- Packet Tracer
- Databases
- Databases I - Discussion: Files vs DBMS
- Databases II - Database, Data description model (DDM)
- Keys - Types
- Databases III - Data abstraction and Independence
- Darabases IV - SQL languages, Data types
- DDL - Data definition language - CREATE, DROP, ALTER
- DQL - Data Query Language - SELECT
- DML - Data Manipulation Language - INSERT, UPDATE, DELETE
- Logical operators, Join Expressions, Aggregation operators, Grouping data
- Functional dependency
- Normalization in DBMS - 1NF, 2NF ....
- Relational algebra
- Memory Hierarchy DBMS
- Written
- Lisp
- Java (MAP)