Separation of Lanthanides/ Lanthanides and Actinides
CS4443 - Modern Programming Language I
1. COURSE TITLE: CS4443 – MODERN PROGRAMMING LANGUAGE – I
Credit Hours: 2 (Theory) + 1 (Lab)
Pre-requisites: CS3242 – OBJECT ORIENTED PROGRAMMING
COURSE OBJECTIVES:
The purpose of this course is to provide the solid understanding of the .net technology. The student
will learn the basic and advanced programming skills using C#.Net.
CLASS POLICY:
A student must reach the class-room in time. Late comers may join the class but are not
entitled to be marked present.
Attendance shall be marked at the start of the class and students failing to secure 75%
attendance will not be allowed to sit in final exam.
The assignment submission deadline must be observed. In case of late submission, assignment
will not be considered.
Those who are absent on the announcement date of assignment/test. Must get the
topic/chapter of test/assignment confirmed through their peers.
Mobile phones must be switched-off in the class-rooms.
GRADING POLICY:
Internal Evaluation
Midterm Exam 20%
Attendance 10%
Assignment/Presentations 10%
Quizzes/Tests 10%
Total Internal Evaluation 50%
Final Term Examination
Theory Exam 40%
Viva Exam 10%
Total Marks 100%
TEXT BOOKS:
Beginning C# 6.0 Programming with a Visual Studio 2015, Benjamin Perkins, Wrox Publishers
Professional C# 6 and .NET Core 1.0 by Christian Nagel, Wrox Publishers
“MSDN, http://www.csharphelp.com”
2. COURSE DESCRIPTION:
WEEK NO TOPIC DESCRIPTION ASSESSMENT
1 PART A – THE C# LANGUAGE
Chapter 1 – Introducing C#
The C# language
The .Net Architecture and .Net Framework
CLR, MSIL, JITers, FCL, CLS, CTS and GC
C# compare to C++
Development Environment
Console Applications and Windows Form
Application
Working with First Hello World Program in
C#
Understanding namespaces, using keyword,
class keyword, main() method and
comments in C#
2 Chapter 2 – C# Language Fundamentals
Basic Datatypes and their mapping to CTS
Variables, Constants, and Operators
Working with Flow Control and Conditional
Statements
Type Conversion, String Manipulation and
Complex Variable Types
Assignment – 1
3 Chapter 2 (continued…)
Arrays in C#
Array Declaration and Initialization
Foreach loop
Quiz – 1
4 Chapter 3 – Introduction to OOP
What is Object Oriented Programming
OOP Techniques
OOP in Windows Application
5 Chapter 4 – Classes and Objects
Concept of a Class, Object, Field, Methods
Instantiating a Class
Accessing Members of a Class
Access Modifiers
SYSTEM.OBJECT
Properties
Static Members of a Class
Shallow Copying vs Deep Copying
Assignment – 2
6 Chapter 4 (continued)
Constructors and Destructors
Finalize() Method of Object Class
Quiz – 2
3. Constructor Overloading
Reference Types
Interface Implementation
Partial Class and Method Definitions
The Call Hierarchy Window
7 Chapter 5 – Inheritance and Polymorphism
Implementing Inheritance in C#
The Base Keyword
Protected Access Modifier
Sealed Keyword and Object Class
Multiple Inheritance
Polymorphism
Virtual and Override Keywords
The NEW Keyword
Up-Casting and Down-Casting
Boxing and Un-Boxing
8 Review of the previous course
9 Midterm Exam Week 1 – Week 8
10 Chapter 6 – Structures, Enumeration, Garbage
Collection & Nested Classes
Structures
Enumeration
Garbage Collection in .Net
System.GC.Collect() Method
Nested Classes in C#
11 Chapter 7 – Abstract Classes & Interfaces
Abstract Classes
Interfaces
Implementing more than One Interface
Explicit Implementation of Methods
Casting to an Interface using is and as
operators
Inheriting Interfaces
Assignment – 3
12 Chapter 8 – Arrays, Collections & String
Manipulation
Multidimensional Arrays
Understanding Jagged Arrays
Collections
The ArrayList, Stack, Queue Classes
Dictionaries
Working with Hash table
SortedList Class
String Handling in C#
Quiz – 3
4. String Class and StringBuilder Class
13 Chapter 9 – Exception Handling
Exceptions Basics
Exceptions in C# and .Net
Understanding try…..catch block
Working with Multiple Exceptions
Exception Hierarchy in .Net Framework
Throwing an Exception: the throw Keyword
14 Chapter 10 – Generics
What are Generics?
Using Generics
Defining Generic Types
Variance
15 Chapter 11 – Working with Delegates and Events
Understanding Delegates
Multicast Delegates
Working with Events
Multicast Events
16 Chapter 12 – C# Language Enhancements
Initializers
Type Inference
Anonymous Types
Dynamic Lookup
Advanced Method Parameters
Extension Methods
Lambda Expressions
17 Final Term Exam Whole course