C# (C-SHARP) ENGINEER BOOTCAMP

                                          English and Arabic 

5 Days Course

OVERVIEW

Code Windows Apps, Software & More with This Top In-Demand, Versatile Language!

This course is one of options for completing our Web Developer Bootcamp. All courses cover the essentials of developing the server-side code that is an integral component of modern web and mobile applications. On completion of this course students are ready to design, code, test and deploy a fully-functional web service or the server-side code for a web application. This course completes your training as a full-stack software developer.

You’ll learn the key features and capabilities of Microsoft’s software development technology stack. This includes C# – one of the most widely used modern object-oriented programming languages, .NET – a highly productive and comprehensive development framework, and a wide range of supporting and related technologies. You will also be introduced to database management, test-driven development, agile methods, the Visual Studio IDE and other key concepts and tools that will help accelerate your entry into a career in software development.

WHAT YOU WILL LEARN

  • Learn to write C# (pronounced “C sharp”), an object-oriented programming language designed for building applications that run on the .NET Framework.
  • Master building applications using Microsoft’s ASP.NET MVC framework.
  • Learn Microsoft’s integrated development environment (IDE). You’ll learn how to take advantage of Visual Studio’s power to become a productive C# Developer
  • Use the industry-standard SQL language to store and access data from relational databases
  • Well-written code starts with well-written tests. Learn to write tests that help you think through your code, avoid problems, and save collaborators’ time
  • Learn how to use Git to safely manage and track changes in your code. Learn how to use GitHub to collaborate with other developers on your team or around the world.
  • Gain experience working in teams, so you’re ready to work on one when you graduate
  • Learn how to expose data using a RESTful API, as well as how to access data via third-party services to make your applications more dynamic.
  • Leave NSS with a completed C# .NET MVC capstone project that demonstrates your abilities.

COURSE STRUCTURE AND AGENDA

STAGES
DESCRIPTION
DURATION
Phase 1The complete C# foundation2 Week
Phase 2Visual studio, SQL databases and test-driven development4 Week
Phase 3Source code control, collaborative development and APIS & services4 Week
Phase 4Capstone project (best practices and use cases from various industries & project presentation)2 Week
Phase 01 – Week 1 & 2 -The complete C# foundation

The course begins with a high-level overview of the software development process, then transitions into a discussion about Object-Oriented (OO) programming.

Module – 01

Computer Programming Basics

  • Fundamentals of Computer Programming
  • Types of Programming Languages
  • Language Translators
  • Algorithm & Flowchart
Module – 02

Introduction To .NET Core And C#

  • Introduction to
  • Differences between .NET Framework and .NET Core
  • .NET Core Architecture
  • Core CLR
  • What is C#?
  • Installation of Visual Studio IDE
  • Basic Structure of a C# Application
Module – 03

Variables, Primitive Data Types, And Constants

  • Introduction to Variables
  • How to Declare and Initialise Variables?
  • Data Types
  • Live Coding Demo Application – Variables and Data Types
  • Constants
Module – 04

Basic Input And Output Statements

  • Introduction to Basic Output Statements
  • Formatted Output StatementsPreview
  • Formatting Numbers
  • Aligning Numbers
  • Currency Formatting
  • Custom Date Formats
  • Outputting Escape Sequence Characters
  • Setting the Properties of Console Window
  • Convert Class
  • Basic Input Statements
  • Coding Demo

 

 

 

 

 

STAGE 1 ASSESSMENT

Module – 05

Operators And Expressions

  • Introduction to Operators
  • Relational Expressions and Logical Expressions
  • Unary Operators
  • Ternary and Shorthand Operators
Module – 06

Decision Making Statements

  • Introduction to Decision Making
  • if Statement
  • if…else Statement
  • if…else Ladder
  • Nested if…else Statement
  • switch Statement
Module – 07

Iteration Statements

  • Introduction to Iteration Statements04:20
  • while Statement
  • do…while Statement
  • for Statement
Module – 08

Single Dimensional And Multi Dimensional Arrays

  • Single Dimensional Arrays
  • Accessing Array Elements
  • for…each Loop to Process Arrays
  • Multi Dimensional Arrays
Module – 09

Exception And Exception Handling

  • Types of Exceptions
  • try…catch…finally
  • throw Statement
Module – 10

Validating Input Data

  • var Keyword
  • TryParse Converter MethodPreview
  • Validating Empty Input
Phase 02 – Week 3 to 6 – Visual studio, SQL databases and test-driven development
Module – 11

String Manipulation & Methods

  • Introduction to Strings
  • String Manipulation Methods
  • Immutability of Strings
  • StringBuilder Class
  • String Interpolation
  • Introduction to Methods
  • Methods without Parameters and Return Value
Module – 12

Object Oriented Programming

  • Introduction to OOPS
  • Class and Objects
  • Access Modifiers
  • Accessing Member Variables and Methods
  • Live Coding Demo Application – Class and Objects
  • Constructor
  • Live Coding Demo Application – Constructor
  • Parameterised Constructor
  • Array of Objects
  • Static Class
  • Value and reference types
  • Structures
  • Difference between structures and class
  • Basic types and constructs of Visual C#
  • Enum & collections
  • File handling
  • Text & Binary Files
  • Exception classes for file I/O
  • Scope of Variables, Nullables and Random Class
  • Date and Time Manipulation
  • DateTime Static Fields, Properties & Method
  • TimeSpan & Time Zones
  • Leap Year Manipulation
Module – 13

Creating Classes And Implementing Type-Safe Collections

  • Creating Classes
  • Defining and Implementing Interfaces
  • Implementing Type-Safe Collections
  • Creating Class Hierarchies
  • Extending .NET Framework Classes
Module – 14

Reading And Writing Local Data

  • Reading and Writing Files
  • Serializing and Deserializing Data
  • Performing I/O by Using Streams
  • Accessing a Database
  • Creating and Using Entity Data Models
  • Querying Data by Using LINQ

 

STAGE 2 ASSESSMENT

Module – 15

Accessing Remote Data

  • Accessing Data Across the Web
  • Accessing Data by Using OData Connected Services
Module – 16

Visual Studio

  • Configuring the Layout of Visual Studio
  • Create And Run A Simple Program
  • Creating And Understanding Blocks Of Code (6:08)
  • Formatting Output Strings
  • Basic Variables
  • What’s a Data Type, and Why Are They Needed
  • Doing Simple Math With Variables
  • Understanding What It Means To Divide Integers And What It Means To Divide Doubles
  • Dividing Two Integer Data Types
  • Reading Input
  • Basic Data Casting
  • Constants and how they are used
Module – 17

C# 6.0 With Visual Studio 2015

  • Learning C# In More Detail Through Web Pages
  • Controlling Program Flow, Web Forms Version
  • Operators, Web Forms Version
  • Array And Method Basics, Web Forms Version
  • Fundamentals Of Objected Oriented Programming, Web Forms Version
  • Generics, Web Forms Version
  • Lambda Expressions And Linq, Web Forms Version
  • Working With SQL Server 2014
  • File Access, Web Forms Version
  • XML Basics, Web Forms Version
  • Creating Basic Model-View-Controller Apps
  • Learning The Fundamentals
  • Controlling Program Flow
  • Operators
  • Fundamentals Of Arrays
  • Introduction To Functions, or Methods
  • Object Oriented Programming
  • Applying C# To Unity Scripting
  • Basic Physics
Phase 03 – Week 7 to 10- Source Code Control, Collaborative Development and Apis & Services
Module – 18

Improving Application Performance And Responsiveness

  • Implementing Multitasking
  • Performing Operations Asynchronously
  • Synchronizing Concurrent Access to Data
Module – 19

Integrating With Unmanaged Code

  • Creating and Using Dynamic Objects
  • Managing the Lifetime of Objects and Controlling Unmanaged Resources
Module – 20

Creating Reusable Types And Assemblies

  • Examining Object Metadata
  • Creating and Using Custom Attributes
  • Generating Managed Code
  • Versioning, Signing, and Deploying Assemblies
Module – 21

Advanced C# Features

  • Generics
  • Delegates
  • Lambda Expressions
  • Events
  •  
  • Extension Methods
  • LINQ
  • Nullable Types
  • Dynamic
  • Exception Handling
  • Asynchronous Programming with Async / Await
  • Source Codes
Module – 22

Encrypting And Decrypting Data

  • Implementing Symmetric Encryption
  • Implementing Asymmetric Encryption
Module – 23

Art Of Writing Clean Codes

  • Common Code Smells
    • Poor Names
    • Poor Naming Conventions
    • Poor Method Signatures
    • Long Parameter List
    • Output Parameters
    • Variable Declarations on the Top
    • Magic Numbers
    • Nested Conditionals
    • Switch Statements
    • Duplicated Code
    • Comments
    • Long Methods
 

STAGE 3 ASSESSMENT

Module – 24

How To Radically Speed Up Your Code

  • Basic Optimization the low hanging fruit
  • How to prevent boxing and unboxing
  • Fast string concatenation
  • Fast collections
  • Fast arrays
  • Throwing and catching exceptions
  • Fast Garbage Collection
  • Fast delegates
  • Fast class factories
  • Arrays on the stack
  • Pointers
Module – 25

Creational Design Patterns

  • Abstract Factory Pattern
  • Builder Pattern
  • Factory Method Pattern
  • Prototype Pattern
  • Singleton Pattern
Module – 26

Structural Design Patterns

  • Adapter Pattern
  • Bridge Pattern
  • Composite Pattern
  • Decorator Pattern
  • Facade Pattern
  • Flyweight Pattern
  • Proxy Pattern
Module – 27

Behavioural Design Patterns

  • Chain Of Responsibility Pattern
  • Command Pattern
  • Interpreter Pattern
  • Iterator Pattern
  • Mediator Pattern
  • Memento Pattern
  • Observer Pattern
  • State Pattern
  • Strategy Pattern
  • Template Method Pattern
  • Visitor Pattern
Phase 04 – Week 11 & 12 – Capstone project using agile methodologies
Unique Project in C that can be developed with C#

 

E-commerce checkout process: Students will use C# to design a shopping cart that will club together all your selected products and provide you your billing details all together. They will use C# to parse the information on the shopping cart as an .xml file and provide the data to the server to generate the bill. These billing details are directly sent to the customer.

 

Film Digital Library: Imagine curating your own films library and having the advantage to browse through the data on your stored films, whenever you wish to. This is one such C project which will enable the users to not only compile a list of the films they have downloaded or bought but also pair the necessary information about the movie along with the file. In many ways, users can have their own custom made IMDB library. Developers may opt for MySQL server for the backend coding using C# whereas Visual studio should be able to take care of the front end needs.

 

Online Voting Applications: Valuable votes are often lost in the bid. Governments can be encouraged to adopt the voting system to an online space so that no matter where you are, you are able to cast your vote securely. C# could an ideal choice to script such C projects. It will include a secure registration gateway where the voter will be asked to provide the relevant documents of proof. On the backend, the officials may verify the details and approve of the registration via a link. On the day of the election, the user will be sent a unique code on their mobile phones or emails to log back into the application. The application will enable them to choose from the various candidates of their respective constituencies and cast their votes only after due authentication. With C# as the language and MySQL as the database, this project ideas in C is not only going to be novel but also rather hassle-free to design.

 

Digital Signatures: One C project which can actually be used to prepare authentic digital signatures may be developed using C#. Once the operating system requirements are taken care of, developers may rely on a relevant version of Visual Basics to cover the frontend and Ms Access for the backend requirements and use C# to script software which will allow users to digitize their handwritten signatures with accuracy and verify the same. Thereafter, this digital signature can be imprinted on different e-documents. This will save paper and minimize the need for physical transactions.

 

Logistics: The packaging and logistics industry is one such domain where C# can create innovative project ideas with C. Using the C#.Net platform, developers can design a sleek and efficient cargo and warehouse management system which will enable managers to keep abreast of the functioning of the freight and the employees ranging from sourcing to tracking, carriage to delivery, every minute aspect of the logistics chain can be manoeuvred and organized virtually through time-saving and accurate management tools. C# makes such applications easy to develop and easy to operate.

Each team first creates a minimally viable product to fulfill mandatory technical elements, then iterates based on feedback, refining and adding additional features. At the end of the bootcamp, teams present their projects to the Management & External Observer.

 

FINAL ASSESSMENT