Academia de Reconversie .NET/C# Developer

Cursul reprezintă o academie cuprinzătoare de învățare a programării cu limbajul C# și a dezvoltării de aplicații folosind platforma .NET. Acesta se concentrează pe fundamentul programării, abordând treptat conceptele cheie ale programării orientate pe obiect (OOP), gestionarea codului, manipularea datelor, lucrul cu colecții și multe altele. Participanții vor învăța să creeze și să dezvolte aplicații robuste și eficiente în C# utilizând diverse concepte și tehnologii, cum ar fi OOP, gestionarea memoriei, manipularea datelor, gestionarea excepțiilor, programarea paralelă și multe altele. 

Un specialist în dezvoltarea C# are competența de a gestiona o varietate de aspecte în cadrul dezvoltării unei aplicații, depășind considerații legate doar de performanță, capabilități și securitate. 

Dezvoltatorii familiarizați cu .Net/C# au abilitatea de a crea aplicații avansate, fie că este vorba de aplicații desktop sofisticate sau de infrastructuri complexe din spatele aplicațiilor web moderne. Ei sunt în măsură să modeleze și să dezvolte soluții software inclusiv optimizarea performanței, asigurarea calității prin teste adecvate, implementarea securității și multe altele. Astfel, aceștia pot contribui la dezvoltarea de produse software fiabile, scalabile și aliniate cu cerințele tehnologice actuale. 

Cui i se adresează?

Fiind o introducere detaliată în lumea dezvoltării software cu C# și .NET, cursul este potrivit pentru studenți, absolvenți de facultate, profesioniști care își doresc să-și extindă competențele în domeniul dezvoltării software și oricine dorește să-și construiască o bază solidă în programare și dezvoltare de aplicații.

Cum se desfășoară cursul:

Cum se desfășoară cursul:

  • Materiale de studiu în format video înregistrat și activități practice.
  • Teste intermediare prin care îți vei evalua progresul. 
  • Întâlniri periodice cu trainerii în ședințe tip live-virtual. 
  • Examen final, în urma promovării căruia primești o diplomă de finalizare curs.

Ce vei învăța?

Urmând acest program, participanții vor învăța să: 

  • Înțeleagă conceptele fundamentale ale programării și importanța limbajului C# în dezvoltarea software. 
  • Utilizeze mediul integrat de dezvoltare (IDE) pentru a crea, compila și executa programe C#. 
  • Manipuleze variabile, tipuri de date și operatori în C# pentru a efectua calcule și operații logice. 
  • Gestioneze fluxul de execuție al programelor prin intermediul instrucțiunilor de decizie și de interacțiune.
  • Modeleze și să implementeze concepte OOP precum clase, obiecte, moștenire, interfețe și abstractizare. 
  • Lucreze cu colecții de date și structuri, inclusiv utilizarea de generice și algoritmi de colecții. 
  • Dezvolte aplicații paralele utilizând fire de execuție și tehnici de programare asincronă. 
  • Gestioneze excepții și erori în programele C#. 
  • Interacționeze cu baze de date folosind ADO.NET și Entity Framework.
  • Creeze și expună servicii web folosind ASP.NET Web API. 
  • Implementeze unit testing și să scrie cod curat și bine structurat. 

Cerințe preliminare:

Cunoștințele într-un limbaj de programare ar fi un avantaj, dar nu sunt esențiale. Dacă participanții au o înțelegere de bază a conceptelor matematice și logice, aceasta ar fi de asemenea utilă în învățarea programării.

Agenda cursului:

Agenda cursului:

Lesson 1 – Introduction 

– What is a program? What’s the purpose of programming? What can we do with .NET? 

– What is an IDE? How they make programmers’ life easier 

– What is .NET and what is C#? 

– Our first program in C# run from the IDE 

– C# as a compiled and interpreted language (command line reproduction of the steps our IDE did for us in order to run the showed program) 

– Variables. What is a variable? 

– Literals: Integer, Floating Point, Boolean, Character and String 

– Operators 

  • Assignment
  • Mathematical operators
  • Auto Increment and decrement
  • Logical operators
  • Relational operators
  • Bitwise operators (explain how computers “think” in terms of bits and do some conversions from base 2 to 10 and to 16 also)
  • Shift Operators
  • Ternary if-else operator
  • String concatenation operator(+, +=)
  • Casting operators
  • Special Operators (e.g. instance of)

– Controlling execution: decision instructions, interaction instructions, break command, continue command 

– Examples & exercises 

 

Lesson 2 – Code Management 

– Version Control 

  • SVN, Mercurial, Git
  • Git Setup
  • Github, push your first code into Github

– Comments 

  • Write inline comments
  • Write documentation comments

– Namespaces 

  • How to organize your code in namespaces
  • Special Namespaces inside a C# program

– Run a C# program 

  • Normal mode
  • Debugging mode
  • Run with special arguments

– Examples & exercises 

 

Lesson 3 – Arrays & Strings 

– What are they? 

– Array length 

– Multidimensional Arrays 

– Accessing, changing elements of an Array 

– Looping through an Array 

– Pass an array as a function argument 

– Examples with most used methods from Arrays utility class 

– Manipulating strings (substring, comparing strings, converting from a char array, etc.) 

– Examples & exercises 

 

Lesson 4 – Functions 

– What is a function and what is its general purpose 

– Function parameters, optional parameters, return values 

– Writing function guidelines (according to “Clean Code” by Robert C. Martin) 

– Local variables lifecycle explained 

– Passing primitive variables as parameters to functions 

– Pass by value 

– Calling functions, Named arguments 

– Examples & Exercises 

 

Lesson 5 – Introduction to OOP 

– What is OOP, OOP vs Procedural 

– What is a class 

– What is an object 

– Constructor 

  • Default constructors
  • This keyword
  • Polymorphism

– Declaring & initializing a class instance 

– Memory allocation & the garbage collector 

– Instance variables/methods vs static variables/methods 

– Static constructor 

– Non-static constructor 

– C# access modifiers 

– Examples & Exercises 

 

Lesson 6 – Inheritance, abstract classes, interfaces 

– Inheritance explained 

– Overriding methods 

– Base keyword 

– Protected explained 

– Sealed keyword 

– Abstract classes 

– Interfaces 

– Interfaces vs abstract classes 

– Multiple implementations of interfaces 

– Examples & Exercises 

 

Lesson 7 – Inner classes, Object class, null object 

– Is/as operators 

– Upcasting & downcasting 

– Everything is an Object 

– Object class explained 

– ToString() method purpose iii. Equals() method purpose iv. HashCode() method 

– Cloning objects – ICloneable Interface 

– Finalizer method 

– Null object 

– Examples & Exercises 

 

Lesson 8 – Enums, Exception Handling 

– Enum explained 

– Exceptions hierarchy 

– Checked vs Unchecked exceptions 

– Try-catch-finally explained 

– Throwing exceptions (throw command) 

– Treated exceptions locally or delegating them 

– Defining our own exceptions 

– Examples & Exercises 

 

Lesson 9 – Input/Output Streams, Serialization 

– The File class 

– Byte Streams 

– Character Streams 

– Buffered Stream 

– Data Streams 

– Object Streams 

– Serialization 

– Examples & Exercises 

 

Lesson 10 – Generics, Collections 

– Generic classes 

– Generis functions 

– Generics naming convention 

– Collections with examples of implementations: 

– Generic Collections: List, Dictionary<TKey, TValue>, SortedList, Queue, Stack, Hashset 

– Non-Generic Collections: ArrayList, SortedList, Stack, Queue, Hashtable 

– Examples & Exercises 

 

Lesson 11 – Generics, Collections 

– Iterators 

– Foreach instruction 

– Dictionary type 

– Collections algorithms 

  • Sort
  • IComparable interface
  • IComparer interface
  • BinarySearch
  • Reverse
  • Min/max
  • Swap
  • Linq operations on collections: e.g. Find, First, Skip, Take, etc

– Examples & Exercises 

 

Lesson 12 – Threads, Sockets, Tasks (Async Await) 

– Running code sequential vs in parallel 

– Async Await in .net (C#) 

– Creating and starting a thread in C# 

  • Thread class
  • Task class

– Thread lifecycle 

– Pausing a thread execution 

– Thread joins 

– Synchronization and Locks 

– Monitor helper class: Wait, Pulse, PulseAll 

– Examples & Exercises 

 

Lesson 13 – Threads, Sockets, Tasks (Async Await) 

– Atomic Variables 

– Volatile keyword 

– Immutable objects 

– Parallel programming pitfalls 

– Client Socket 

– Server Socket 

– Examples & Exercises 

 

Lesson 14 – Dependency managers, C# database connectivity 

– Nuget Package Manager 

– Importing multiple projects into your project 

– Setting up a connection to SQL Server from C# 

– Calling SQL code from C# 

  • SqlCommand
  • SqlDataReader

– Closing C# connection to SQL Server 

– Reading query results: ExecuteScalar vs ExecuteReader 

 

Lesson 15 – Entity Framework 

– What is Entity Framework? 

– DIfferent ORMs 

– Lambda Expressions 

– Migrations 

– Package Manager Console 

– EF Code First vs Database First 

– Examples & Exercises 

 

Lesson 16 – Anonymous Objects. Delegates, Dependency Injection 

– Anonymous Objects examples 

– Delegates 

– Lambda expressions 

– Dependency Injection 

– Fixing null: Optional class 

– Examples & Exercises 

 

Lesson 17 – MVC, Web API & Code Generation 

– MVC (Model View Controller pattern) 

– What is a Web API 

– HTTP Verbs 

– JSON / XML 

– Examples & Exercises 

 

Lesson 18 – Unit testing & Clean Code 

– Clean Code 

  • Why is Clean Code Important
  • General code writing guidelines
  • DRY Principle
  • Kiss principle
  • Yagni Principle

– Unit Testing 

  • xUnit
  • nUnit
  • Unit tests vs Integration Tests
  • Using mocking libraries
  • Decoupled Code and Unit Tests

 

Lesson 19 – Project Phase 1 

– Preparing a project 

 

Lesson 20 – Project Phase 2 

– Consulting and Checking the Project 

 

Lesson 21 – Project Phase 3 

– Project finishing up and presentation 

Recomandăm să continui cu:

Programe de certificare

Participanții vor primi diplomă de absolvire după completarea cursului și susținerea examenului de evaluare .

Academia de Reconversie .NET/C# Developer

Durată

82
ore

Număr de lecții

21

Preț:

350 EUR

Tip curs

online, în ritm propriu

Nivel de specializare

Entry

Roluri:

Developer

Oferte personalizate pentru grupuri de minim 2 persoane