Programming C#/.NET
- Module: Fundamentals of programming
- Concepts
Write your first program in C#
Understand assembly references
Compile and run the first program - Demo
- Hands on lab
Students write the hello world sample , compile and run
- Concepts
- Module: Data Types
- Concepts
Variables and data types.
Sizes and ranges of data types
Type safety and compilation checks.
Scalar and Non Scalar data types - Integer, Long, float, double, etc. - Demo
Min and max values of various data types and static type checking - Hands on lab
Students write sample programs to understand the data types and their
ranges and observe compile type data type checks
- Concepts
- Module : Arithmetic Operators
- Concepts
numerical and arithmetic operators
Floating point divisions
Reminders and modulo operators - Demo
- Hands on lab
Students write sample programs using arithmetic operators.
Example programs:
Calculate the average of numbers,
Print the next in the Fibonacci series,
Test whether a number is even or odd etc.
- Concepts
- Strings
- Concepts
String data type, and immutability of strings
Various operations on strings, sub strings, substitution, split, join
etc - Demo
- Hands on lab
Students write a function to read a file and split the lines into words.
- Concepts
- Conditions and Branching
- Concepts
Conditions and branching using If, else, and switch - Demo
- Hands on lab Students write programs using if/else/switch and
conditional operators
Example programs: Calculate the postage based on weight tables
- Concepts
- Logical operators
- Concepts Conditional operators, OR/AND and combining the conditions
for more complex conditions - Demo
- Hands on lab
Students write programs that use logical conditions and combinations of
conditions
Example programs: Print numbers that are divisible by both 3 and 5,age based portfolio performance calculations, etc
- Concepts Conditional operators, OR/AND and combining the conditions
- Looping and Iteration
- Concepts
Looping constructs like for, while, do loops. - Demo
- Hands on lab
Students write programs that use looping constructs.
Examples:
Read input until “quit” is typed…
Compute the next n prime numbers
- Concepts
- Arrays, Lists and simple containers
- Concepts
Arrays – the first non-scalar data type. Indexing, looping, length - Demo
- Hands on lab
Read lines from a file, print numbers in an array, etc
- Concepts
- Collections in .NET library
- Concepts Lists, stacks and queues
- Demo
- Hands on lab
Students understand how to use the different collection classes and how
to use them.
Examples: Write programs to evaluate a post fix expression that is in a
stack
- Collections in .NET library
- Concepts Dictionary, Hash Tables, Hash Sets
- Demo
- Hands on lab Students write programs using the dictionary and table
structures
Examples: Print the words and the number of times each word occurs in a
file
- File I/O
- Concepts Create, Read, write, Delete files Traverse
Directories - Demo
- Hands on lab
Students write a function to print files in a directory
- Concepts Create, Read, write, Delete files Traverse
- Tour of .NET library
- Concepts
Expose students to regular expressions, XML parsing, network programming - Demo
- Hands on lab
Students use various libraries to accomplish tasks such as download a
file form web Test if a pattern occurs in a file etc.
- Concepts
- Recursion
- Concepts Concept of recursion and its uses
- Demo
- Hands on lab
Students write a function to print files on the disk recursively
starting from the root.
- User Defined Classes and Object Oriented programming
- Concepts
Class, methods, constructors, destructors - Demo
- Hands on lab
Students create a user defined class and add properties and methods
- Concepts
- Advanced Object Oriented Programming
- Concepts
Abstract classes, Static classes, interfaces - Demo
- Hands on lab
Students create a user defined class and define static methods.
- Concepts
- Threads
- Concepts
Threading, and concurrent programming fundamentals.
Thread start, execution, termination and waiting for thread to finish
Concepts of thread shared state and thread synchronization - Demo
- Hands on lab Students implement a long running operation and a
UI that does not freeze while the operation is progress
- Concepts
