Net Development Program Syllabus_1
Net Development Program Syllabus_1
PROGRAM PRICE:
• 2600 Gel
ADMISSION REQUIREMENTS:
• Knowledge of English: B1+ (Intermediate)
PROGRAM LENGTH:
Calendar duration: 6 months
PROGRAM OVERVIEW:
This program is dedicated to ASP.NET Core, a relatively new Microsoft framework that allows developers to create cloud-
enabled web applications across platforms. First, students will get familiar with C#, a type-safe, object-oriented language
that is predominantly used with the .NET Framework.
Once a solid foundation with C# is built, learners will explore more advanced coding features for effective software
development with .NET - they will be able to put into practice the following concepts and approaches: reflection,
multithreading, async programming, JSON and XML data formats, and serialization. The next focus of the program is the
ASP.NET Core Framework. Students will practice creating simple web API apps and handling errors in them.
Finally, students will be introduced to ASP.NET Core MVC Framework that enables developers to build web apps using the
Model-View-Controller design pattern. To build an MVC app, learners will get familiar with tag helpers, Razor syntax,
layouts, and view components.
PROGRAM OBJECTIVES:
Upon successful completion of this program, the student will be able to:
1. Use the Visual Studio programming environment for creating and debugging applications
2. Use GitLab and create GitLab repositories to store C# source code
3. Create and use new types (enumerations, classes, and structures)
4. Differentiate between reference types and value types
5. Use the principles of Object-Oriented Programming (OOP) for implementing complex application domain models
and logic
6. Handle exceptions to prevent applications from unexpected crashes
7. Use different types of collections for aggregating data
8. Apply basic string operations: getting a string character, joining and splitting strings, trimming and removing
unwanted content
9. Define, create, and use delegates for implementing callback functionality in their programs
10. Create and use C# events for building event-driven programs
11. Create and use lambda expressions for defining delegates and anonymous functions
12. Implement complex data processing logic using Language Integrated Query (LINQ)
13. Perform I/O operations using Streams and File IO
14. Use dynamic memory management in programming constructs
15. Get information about .NET assemblies using Reflection and ILDASM.exe
16. Load an assembly and get information about classes and types inside the assembly at runtime
17. Construct objects and call methods and properties at runtime
18. Explain the difference between threads and processes, I/O and CPU-based operations, background and
foreground threads, asynchronous and parallel programming
19. Execute code in parallel using capabilities of classes defined in the System.Threading and System.Threading.Tasks
namespaces, including the Task Parallel Library (TPL)
20. Explain the concept of a thread pool and the overhead of parallel programming
21. Chain tasks using continuations
22. Work with exception handling in parallel programming
23. Explain the concept of a dead lock in multithreading programming
24. Use basic synchronization constructions to control access to the resources shared between multiple threads (for
example, a lock, a semaphore, a monitor, etc.)
25. Implement asynchronous code using the async/await features of C# to write asynchronous programs
26. Handle exceptions in asynchronous code
27. Create, read, and edit text files with data in XML and JSON formats
28. Develop XML data structures using classes from the System.Xml namespace
29. Use the XmlSerializer and JsonSerializer classes to serialize and deserialize text data in both XML and JSON
formats
30. Create and run ASP.NET Core web applications using Visual Studio 2019
31. Explore the ASP.NET Core request pipeline and middleware components
32. Customize environment settings for development and production versions of an application
33. Apply dependency injection to make an application loosely coupled and maintainable
34. Handle application errors and create environment-specific error pages
35. Create web API and ASP.NET MVC applications
36. Create and bind an ASP.NET model
37. Handle errors in ASP.NET Core web API apps
38. Explain what MVC design patterns are
39. Customize and deploy web applications to MS Azure Cloud
40. Apply all knowledge, skills, and professional .NET development approaches obtained during the program to a
capstone project and present at the end of the program.
INSTRUCTIONAL STRATEGIES:
Lecture hours will be provided in the form of self-paced digital materials, to give the student the ability to study
individually at a reasonable and comfortable pace, and via online sessions with the mentor to provide further insight into
the theoretical materials. Self-paced digital materials are provided in the form of text, video, and infographics to provide
different channels of information absorption.
Practical tasks are created based on an experiential learning approach and include use cases closely related to daily
activities a student could expect within the profession. Students get immediate feedback from their mentor, a highly
qualified professional, during their live session focused on practice task review.
Courses include non-graded quizzes that focus students’ attention on the key ideas in theoretical information to increase
understanding by practice. The final test at the end of the course summarizes gained students’ knowledge.
By completing the capstone project, students solve real problems and case studies, get hands on experience like real work
projects, which increases their professional readiness.
The typical weekly learning path and assignments are outlined below:
1. Week overview (10 minutes)
2. Self-study materials (up to 10 hours of viewing/reading)
3. Quiz (10-15 minutes)
4. Online meeting with a mentor (0.5 hours)
5. Practice (up to 10 hours)
GRADING REQUIREMENTS:
Final grades will be determined as follows:
GRADE BREAKDOWN
Practical Tasks 40%
Capstone Project Tasks 40%
Final Test 20%
100%
Success criteria
• Each week students attend a 1:1 session with a mentor. While this is not required to pass the class, it is highly
encouraged that students make time to attend.
• Each week students must perform practical tasks and submit their results according to the deadline set in the
schedule.
o Each practical task is graded. We consider the task being successfully performed in case the grade obtained for
the task is no less than 70%.
o The overall practical task grade is calculated at the end of each module.
• The course includes a graded final test/weekly assessment at the end of each module. This assessment is considered
as successfully passed in case the grade obtained for the test is no less than 70%. In case the test grade is 69% and
below, the test is treated as failed, and the grade for the test is set to 0.
• The overall grade for the course is calculated as 80% for practical tasks and 20% for the final test.