Training curriculum for the specialty "Core .NET Developer"

The course objective is to give the students the core knowledge and skills for developing themselves as software professionals in the software industry. The course is .NET oriented and covers .NET Framework 1.1 with C#.

Part 1. Programming .NET Framework Fundamentals

1.1. .NET Framework Architecture – common language runtime, intermediate language, assemblies and .NET Framework execution model

1.2. The C# Programming Language – primitive data types, enumerations, expressions, statements

1.3. Object-Oriented Concepts in .NET – classes and class members, inheritance and polymorphism, interfaces and abstract classes

1.4. .NET Common Type System (CTS) – value and reference types, boxing and unboxing, type conversions and casting

1.5. Attributes – using attributes, attribute parameters, attribute targets

1.6. Arrays – using arrays, jagged vs. multidimensional arrays

1.7. Working with Strings – strings and strings manipulation, string formatting

1.8. Delegates and Events – defining events and delegates

Test 1

1.9. Basic Data Structures and Algorithms in C# – data structures, sorting, searching

1.10. Arrays Manipulation and Collection Classes – sorting and binary searching in arrays, collections

1.11. Regular Expressions – literals and meta-characters, character classes, quantifiers, grouping characters

1.12. Memory and Resource Management – managed heap and garbage collection, finalizers

1.13. Input/Output – file streams, text readers and writers, binary readers and writers

1.14. Working with XML – basic XML concepts, XML parsers

Test 2

1.15. Introduction to Relational Databases - tables, relationships, primary keys, foreign keys

1.16. MS SQL Server 2000 – SQL language, SQL server data types, programming environments and tools

1.17. Data Access with ADO.NET – ADO.NET architecture, data providers, connected and disconnected data access model

Test 3

1.18. Creating GUI with Windows Forms – Windows Forms programming model, basic controls, data binding and navigation

1.19. Web Programming – The HTTP protocol, HTML, CSS, JavaScript

1.20. ASP.NET and Web Applications – ASP.NET programming model, Web Forms and web controls, data-bound controls

Test 4

1.21. Concurrency – introduction to multitasking and multithreading, multithreading and synchronization in .NET

1.22. Internet Access – basic internet concepts, using TCP and UDP sockets

1.23. Web Services – web service infrastructure, consuming and creating web services, exposing methods

1.24. .NET Framework Security – type safety, signed assemblies, code access security

Part 2. Software Engineering

2.1. Software Engineering Fundamentals software processes and stages, implementation of the system, unit testing

Test 5

Part 3. Practical Project

Each practical project will cover these technologies (but not only):

- Microsoft SQL Server – Tables, Relations, Stored Procedures, SQL

- ADO.NET – Connected and Disconnected Data Models

- ASP.NET Web Applications – Displaying and Modifying Data, Data Binding with ADO.NET, Forms Authentication, Forms Validation, Custom Controls

- Windows Forms – Using DataSet and DataGrid, Data Binding Windows Forms with ADO.NET, Custom Controls

Final Exam

The final exam is an assignment for development of a small project with MS SQL Server, ADO.NET, ASP.NET and Windows Forms and should be implemented in 5 hours in class.

A sample exam assignment (in Bulgarian) is available for download.

Training Duration

Lectures: 70h

Exercises: 100h

Practical project: 50h

Total: 220h

Time Allocation

2 times / week: 18-21 h -> 24 h / month

2 weekends / month: 10-18 h -> 32h

Total: 56 h / month -> 4 months

Schedule

The course started for first time at 15 May, 2006.

The course will start again in July 2006. Please apply for this course.

Discussion Forum

Visit the official discussion forum of the course if you have any technical questions regarding the lectures, exercises or homeworks.