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”
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
 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
 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

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 NOTOPIC 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 Classand 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