C# (C-SHARP) ENGINEER BOOTCAMP
- Home /
- Courses /
- emerging technology /
- C# (C-SHARP) ENGINEER
OVERVIEW
Code Windows Apps, Software & More with This Top In-Demand, Versatile Language!
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 1 | The complete C# foundation | 2 Week |
Phase 2 | Visual studio, SQL databases and test-driven development | 4 Week |
Phase 3 | Source code control, collaborative development and APIS & services | 4 Week |
Phase 4 | Capstone 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.
Computer Programming Basics
- Fundamentals of Computer Programming
- Types of Programming Languages
- Language Translators
- Algorithm & Flowchart
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
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
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
Operators And Expressions
- Introduction to Operators
- Relational Expressions and Logical Expressions
- Unary Operators
- Ternary and Shorthand Operators
Decision Making Statements
- Introduction to Decision Making
- if Statement
- if…else Statement
- if…else Ladder
- Nested if…else Statement
- switch Statement
Iteration Statements
- Introduction to Iteration Statements04:20
- while Statement
- do…while Statement
- for Statement
Single Dimensional And Multi Dimensional Arrays
- Single Dimensional Arrays
- Accessing Array Elements
- for…each Loop to Process Arrays
- Multi Dimensional Arrays
Exception And Exception Handling
- Types of Exceptions
- try…catch…finally
- throw Statement
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
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
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
Creating Classes And Implementing Type-Safe Collections
- Creating Classes
- Defining and Implementing Interfaces
- Implementing Type-Safe Collections
- Creating Class Hierarchies
- Extending .NET Framework Classes
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
Accessing Remote Data
- Accessing Data Across the Web
- Accessing Data by Using OData Connected Services
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
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
Improving Application Performance And Responsiveness
- Implementing Multitasking
- Performing Operations Asynchronously
- Synchronizing Concurrent Access to Data
Integrating With Unmanaged Code
- Creating and Using Dynamic Objects
- Managing the Lifetime of Objects and Controlling Unmanaged Resources
Creating Reusable Types And Assemblies
- Examining Object Metadata
- Creating and Using Custom Attributes
- Generating Managed Code
- Versioning, Signing, and Deploying Assemblies
Advanced C# Features
- Generics
- Delegates
- Lambda Expressions
- Events
- Extension Methods
- LINQ
- Nullable Types
- Dynamic
- Exception Handling
- Asynchronous Programming with Async / Await
- Source Codes
Encrypting And Decrypting Data
- Implementing Symmetric Encryption
- Implementing Asymmetric Encryption
Art Of Writing Clean Codes
- 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 MethodsCommon Code Smells
STAGE 3 ASSESSMENT
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
Creational Design Patterns
- Abstract Factory Pattern
- Builder Pattern
- Factory Method Pattern
- Prototype Pattern
- Singleton Pattern
Structural Design Patterns
- Adapter Pattern
- Bridge Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- Proxy Pattern
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
FINAL ASSESSMENT
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 maneuvered 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.