Table of contents >> Uncategorized > Contents

Legend:
Low importance article, or discussion
Medium importance article
High importance article

Beginner level software engineering

Chapter INTRODUCTION

Introduction to programming
Installing Visual Studio 2022 Community Edition
Creating first project
Short introduction to Visual Studio interface
Structure of a C# Console program
C# differentiates between uppercase and lowercase
Comments in C#
Formatting codes
Semicolon character

Data types

 Variables
 Variable types
 Declaring and initializing variables
 C# keywords
 Choosing significant variable names
 Interacting with the Console
 Bit. Byte. Binary counting.
 Hexadecimal numbers
 Why do we use hexadecimal numbers?
 Int variable type
 Char variable type
 Float variable type
 Double variable type
 Decimal variable type
 Type modifiers
 Overflow exception
 Real types error calculations
 Boolean variable type
 String variable type
 Var keyword
 Object variable type
 Nullable variable types
 Value and reference types
 Escape sequences

Operators

 Operators
 Operator precedence
 Arithmetical operators
 Incrementing operator
 Decrementing operator
 Logical operators
 Concatenator operator
 Bitwise operators
 Comparison operators
 Assignment operators
 Conditional (ternary) operator
 Other operators

Casting

 Casting and type conversion
 Implicit type conversion
 Explicit type conversion
 Conversion to type String
 Converting numbers from String

Conditional processing

 Conditional processing
 Representation of True and False values
 Testing a condition with If
 Conditional statement If-Else
 Nested If statements
 Conditional statement Switch

Iterative processing

 While loop
 Do While loop
 For loop
 Foreach loop
 Break operator
 Continue operator
 Nested loops

Chapter ARRAYS

Arrays
Declaration of arrays
Initialization of arrays
Accessing the elements of arrays
Iteration through the elements of an array
Multidimensional arrays
Arrays of arrays

Chapter FUNCTIONS

Functions
Methods and functions declaration
Methods and functions parameters
Variable scope
Execution workflow
Optional parameters
Functions and methods overloading
Methods and functions signature
Return operator
Local methods and functions
Best practices when using methods and functions
Recursive functions

Chapter STRINGS AND TEXT PROCESSING

String
Interpolation
Concatenation
UPPERCASE and lowercase
Searching for a string within another string
Substring
Splitting a string by a separator
Removing unnecessary characters
Replacing a string inside another string
Other string methods
String Builder

Chapter OBJECTS

Object oriented programming
Classes
Properties
Constructors
Instantiation
Access modifiers
Object initializers
Static members
Nested classes

Generics

 Generic types
 Generic constraints
 Generic type inference
 Generics and code bloat

Structures
Records
Constants
Readonly keyword
Enumerations
Bit masks and the Flags enumerations attribute
Namespaces
Top level statements

Chapter GUI

WPF
Graphical User Interface (GUI)
XAML
Control Properties
Control Events
GUI Controls

Chapter DATA STRUCTURES

Data Structures
Arrays
Array List
Linked List
List
Stack
Queue
Dictionary
Sorted Dictionary
Hash Set
Sorted Set
Other Data Structures

Chapter DEBUGGING AND ERROR HANDLING

Exceptions
Handling exceptions with Try Catch
Try Catch Finally
The Using directive
First steps in Debugging: understanding common errors
Breakpoints and local variables
Stack vs Heap memory

Chapter FIRST PRACTICAL APPLICATION

Steps for building an application the right way
Planning an application
XAML: Writing the GUI of our application

Chapter OBJECT ORIENTED PROGRAMMING

Encapsulation
Inheritance
Virtual Methods
Polymorphism
Abstraction
Abstract classes and methods
Interfaces

Intermediate level software engineering

Chapter DELEGATES, LAMBDA EXPRESSIONS, EVENTS

Delegates
Lambda expressions
Delegate chaining
Func and Action
Anonymous methods
Closures
Observer pattern
Events
Events Add and Remove
EventHandler, sender and EventArgs
Delegate covariance and contravariance

Chapter LINQ

Extension Methods
The meaning of “this” on extension methods
IEnumerator and IEnumerable
Yield return statement
Yield break statement
LINQ
Writing custom LINQ extension methods
Degenerate Select clauses
Deferred execution
LINQ execution workflow