K L University Department of Electronics and Computer Engineering Course Handout for VISUAL PROGRAMMING (Third YearB.Tech.) A.Y.2015-16 CourseName
: VISUAL PROGRAMMING
Course Code
: 13EM333
L-T-Pstructure
: 3-0-0
Course Credits
: 3
Course Coordinator
: Dr.KVD SAGAR
Course Instructors
: K.Ravindranath
Course Teaching Associates
:
Course Objective:The main objective of this course is to introduce.NET Technology to apply OOPs concepts using C# Programs. Course Rationale:The purpose of learning this course “Visual Programming” is to make students understand the principles of .NET framework. OOPS concepts will be covered in this course which includes abstraction, Inheritance, Polymorphism, interfaces, delegates and events. Student learning this course will be able to develop Console Application. Course Outcomes (CO): CO CO No : 1 Understand the building blocks of .NET framework 2 Understand C# Language Fundamentals 3 Apply Object Oriented Programming Concepts through C# 4 Apply Interfaces, and collections through C# and understand .NET assemblies COURSE OUTCOME INDICATORS (COI): CO COI-1 No. 1 understand the philosophy of .NET and building blocks of the .NET
SO
BT L
j j e e
1 1 2 2
COI-2
COI-3
Understand The role of the common intermediate language and CTS.
understand building C# applications using VS.NET IDE and building .NET applications using other IDEs
2
UnderstandAn Anatomy of a basic C# class, objects, Constructors, methods, Default Assignment and variable scope.
UnderstandThe system Data types, Converting between value type and reference type, Boxing and Unboxing.
Understand static methods, Array, String manipulation in C#, Enumerations, structures, Defining custom namespaces.
3
ApplyThe first pillar: C# Encapsulation, The second pillar: C#' Inheritance, and The "Protected" keyword.
Applythe third pillar: C# Polymorphic support casting between types.
apply exception handling on C# applications
4
Apply interfaces using C#, and apply multiple inheritance.
apply Different collections on C# Programs
understand .NET assemblies
SYLLABUS : The Philosophy of .NET Understanding the previous states affair, The .NET Solution, The building Block of the .NET platform (CLR,CTS,CLS), the role of the .NET base class libraries, what C# brings to the table, additional .NET – Aware programming Languages, An overview of .NET binaries (aka assemblies), The role of the common intermediate language, Compiling CIL to platform specific instruction, Understanding the common type system, Intrinsic CTS data types, Understanding the common languages specification, Understanding the common languages runtime, A tour of the .NET namespace, increasing your namespace nomenclature, Deploying the .NET runtime. Building C# Applications The role of the command line compiler (CSC.exe), Building C# application using csc.exe, Working with csc.exe response file, generating bug reports, Remaining C# compiler option, The command line debugger, using the visual studio. Net IDE, Other key aspects of the VS.Net IDE, Documenting your source code via XML, C# preprocessor directives, An interesting Aside: The System. Environment class, Building .Net application with other IDEs. C# Language Fundamentals : An Anatomy of a basic C# class, Creating objects: Constructor basic, the composition of a C# application, Default Assignment and variable scope, The C# member initialization syntax, Basic input and output with the console class, Understanding value types and reference types, The master node: System. Objects, The system Data type (And C# aliases), Converting between value type and reference type: Boxing and Unboxing, Defining program constraints, C# Iterations constructs, C# control flow constructs, The complete set C# operator, Defining Custom class methods, Understanding static methods, Method parameter modifiers, Array manipulation in C#, String manipulation in C#, C# Enumerations, Defining structures in C#, defining custom namespaces. Object Oriented Programmingwith C# Formal definition of the C# class, Definition the "Default public interface" of a type, recapping the pillars of OOP, The first pillar: C# Encapsulation services, Pseudo Encapsulation: Creating read only field, The second pillar: C#'s Inheritance supports keepingfamily secrets: The "Protected" keyword, The Nested type definitions, The third pillar: C#'s Polymorphic support casting between types, Generating class definitions using Visual Studio. Net. Exceptions and Objects Life Time Ode to errors, Bugs and exceptions, the role of .NET exceptions handling, the system. Exception base class throwing a generic exception catching exception, CLR system level exception (System. system exception), Custom application level exception (System. application exception), Handling multiple exception, The finally block, The last chance exception, dynamically identify application and system level exception, Debugging system exception using VS.Net, Understanding Object life time, The CIT of new, The basic of garbage collection, Finalizing a type, Finalization process, building and Ad hoc destruction method, garbage collection optimization, The system .GC type. Interfaces and Collections Defining interfaces using C#, Invoking interface member at the object level, Exercising the shape hierarchy, Understanding explicit interface implementation, Interfaces as Polymorphic agents, Building interface hierarchies, Implementing interface using VS.Net, Understanding the Iconvertible interface, Building a custom enumerator (I Enumerable and Ienumerator), Building cloneable objects (Icloneable), Building comparable objects (I Comparable), Exploring the system the collection namespace, Building a custom container (Retrofitting the carstype). Understanding .Net Assembles Problems with classic COM Binaries, An overview of .Net assembly, Building a simple file test assembly, A C# Client Application, A Visual Basic .Net Client application, Cross Language Inheritance, Exploring the Carlibrary's manifest, Exploring the Carlibrary's Types, Building the multi file assembly, Using the multi file assembly, Understanding private assemblies, Probing for private assemblies (The Basics), Private assemblies and XML Configuration files, Probing for private assemblies (The Details),Understanding Shared assembly, Understanding Shared Names, Building a Shared assembly, Understanding delay Signing, Installing/Removing shared assemblies, Using a Shared assembly. Text books: 1. Andrew Troelsen C# and The .Net platform, Second edition, 2003, Dream TECH Press,India. 2. Tom Archer Inside C, 2001, WP Publishers. Reference Books: 1. Joeduffy, Professional .NET Framework 2.0, Worx Publications, Willey India Edition, 2006 Edition 2. David S Platt, Introducing Microsoft .NET, Prentice Hall of India, Eastern Economy edition, 2nd Edition 3. Matthew Reynolds, Karli Watson, Bill Forgey, Brian Patterson, .NET
COURSE DELIVERY PLAN: Sess . No.
CO
COI
1
1
1
2
1
3
Topic (s)
Teaching-Learning Methods
Evaluation Components
Understand the previous states affair and .NET Solution
Chalk& Board
TEST-I&SE
1
Additional .NET Programming Languages and The role of CI
Chalk& Board
TEST-I&SE
1
2
Common type system
Chalk& Board
TEST-I&SE
4
1
2
Understand .NET name spaces
Chalk& Board
TEST-I&SE
5
1
3
Understand .NET IDE Features
Chalk& Board
6
1
3
Building .NET applications with other IDEs
Chalk& Board
7
2
1
An Anatomy of a basic C# class, Creating objects: Constructor basic, the composition of a C# application, Default Assignment and variable scope. The C# member initialization syntax, Basic input and output with the console class, Understanding value types and reference types. The master node: System. Objects, The system Data type (And C# aliases), Converting between value type and reference type: Boxing and Unboxing. Defining program constraints, C# Iterations constructs, C# control flow constructs. Defining Custom class methods, Understanding static methods, Method parameter modifiers, Array manipulation in C#, String manipulation in C#. C# Enumerations, Defining structures in C#, Defining custom namespaces. Formal definition of the C# class, Definition the "Default public interface" of a type, Recapping the pillars of OOP, The first pillar: C# Encapsulation services, Pseudo Encapsulation: Creating read only field. The second pillar: C#'s Inheritance supports keeping family secrets: The "Protected" keyword, The Nested type definitions.
Chalk& Board
The third pillar: C#'s Polymorphic support casting between types, Generating class definitions using Visual Studio. Net. Exceptions and Objects Life Time Ode to errors, Bugs and exceptions, The role of .NET exceptions handling, The system. Exception base class throwing a generic exception catching exception. CLR system level exception, Custom application level exception (System. application exception), Handling multiple exception, The finally block, The last chance exception, dynamically identify application and system level exception. Understanding Object life time, The CIT of new, The basic of garbage collection, Finalizing a type, Finalization process, building and Ad hoc destruction method, garbage collection optimization, The system .GC type. Defining interfaces using C#
Chalk& Board
8
2
1
9
2
2
10
2
2
11
2
3
12
2
3
13
3
1
14
3
1
15
3
2
16
3
2
17
18
19
3
3
4
3
3
1
Chalk& Board Chalk& Board Chalk& Board Chalk& Board Chalk& Board
TEST-I&SE TEST-I&SE TEST-II&SE TEST-II&SE TEST-II&SE TEST-II&SE TEST-II&SE TEST-II&SE
Chalk& Board TEST-III&SE Chalk& Board
TEST-III&SE TEST-III&SE
Chalk& Board TEST-III&SE Chalk& Board TEST-III&SE Chalk& Board TEST-III&SE Chalk& Board
End Semester Exam
20
4
1
Implement multiple Inheritance using interfaces
Chalk& Board
21
4
2
Obtain inter face reference with as and is key words
Chalk& Board
22
4
2
Understand the IConvertible Interface and Methods
Chalk& Board
23
4
3
Understand the C# Collections
Chalk& Board
24
4
3
Understand .NET delegate types and events
Chalk& Board
End Semester Exam End Semester Exam End Semester Exam End Semester Exam End Semester Exam
Session wise Teaching – Learning Plan Session Number: 1 Session Outcome: Students will be able to: 1.
Understand demerits of programming languages before .NET.
2.
Understand the building blocks of .NET
Time(min)
Topic
10 30 10 30
BTL
Teaching – Learning Method
Recap& Session Introduction Understand the previous states affair and .NET Solution Quiz The building Block of the .NET platform
1 -
PPT, Chalk & Board Participation
1
PPT, Chalk & Board
the role of the .NET base class libraries
1
PPT,Chalk & Board
-
-
10
Conclusion& summary of session
05 Session Number: 2 Session Outcome: Students will be able to:
Understand about .NET aware programming languages. Understand the overview of .Net binaries?
1. 2.
Time(min)
Topic
BTL Recap& Session Introduction additional .NET – Aware programming Languages
10 30 10
Quiz An overview of .NET binaries
30
The role of the common intermediate language
10
Conclusion& summary of session
05
Teaching – Learning Method
-
-
1
Chalk & Board
-
Participation
1
Chalk & Board
1
Chalk & Board
-
-
Session Number: 3 Session Outcome: Students will be able to: 1. Understand the common type system. 2. UnderstandIntrinsic CTS Data Types Time(min)
Topic
BTL
Teaching – Learning Method
Recap& Session Introduction Understanding the common type system
10 30 10
Quiz Intrinsic CTS data types
30
Compiling CIL to platform specific instruction
10
Conclusion& summary of session
05
-
-
1
Chalk & Board
-
Participation
1
Chalk & Board
1
Chalk & Board
-
-
Session Number: 4 Session Outcome: Students will be able to: 1. Understand .NET namespaces. 2. Understand common language runtime (CLR) Time(min)
Topic
BTL Recap& Session Introduction Understanding .NET name spaces
10 30
Example programs Understand CLR
10 30
Deploying .NET runtime
10 05 Session Number: 5 Session Outcome: Students will be able to:
Conclusion& summary of session
Teaching – Learning Method
-
-
1
Chalk & Board
-
LTC
1
Chalk & Board
1
Chalk & Board
-
-
1. Understand visual studio .NET IDE. 2. Understand different types of IDE windows Time(min)
Topic
BTL Recap& Session Introduction Understand IDE Features
10 30
Example programs Types of IDE windows
10 30
Deploying .NET runtime
10 05 Session Number: 6 Session Outcome: Students will be able to:
Conclusion& summary of session
Teaching – Learning Method
-
-
1
Chalk & Board
-
LTC
1
LTC
1
LTC
-
-
1. Understand building .NET applications with other IDEs 2. Understand C# Preprocessor directives. Time(min) 10 30
Topic
BTL Recap& Session Introduction Building .NET applications with other IDEs
Teaching – Learning Method
-
-
1
Chalk & Board
Example .NET Application C# Preprocessor directives
10 30
Example programs
10
Conclusion& summary of session
05 Session Number: 7 Session Outcome: Students will be able to:
-
LTC
1
Chalk & Board
1
LTC
-
-
1. Understand the anatomy of C# class 2. Understand the scope of variables in C# class Time(min)
Topic
BTL Recap& session Introduction Understand anatomy of C# class Demonstrate programs Constructors in C#
1 1
Chalk & Board LTC
1
Chalk & Board
Default Assignment and Variable Scope
1
Chalk & Board
-
-
10 30 10 30 10
Teaching – Learning Method
Conclusion& summary of session
05 Session Number: 8 Session Outcome: Students will be able to:
1. Understand the process for initializing C# members. 2. Understand the basic input and output functions of C#. Time(min)
Topic
10 30 10 30 10
BTL
Teaching – Learning Method
Recap& Session Introduction Syntax of C# Member initialization Demonstrate programs Basic input and output functions of C#
1 1
Chalk & Board LTC
1
Chalk & Board
Value types and reference types in C#
1
Chalk & Board
-
-
Conclusion& summary of session
05 Session Number: 9 Session Outcome: Students will be able to:
1. Understand master node system objects. 2. Understand system data type. Time(min) 10 30 10 30 10
Topic
BTL Recap& Session Introduction Defining master node system objects Demonstrate programs About system datatype
Boxing and Unboxing in C#
Teaching – Learning Method
1 1
Chalk & Board LTC
1
Chalk & Board
1
Chalk & Board
Conclusion& summary of session
05
-
Session Number: 10 Session Outcome: Students will be able to: 1. Understand program constraints. 2. Understand control flow constructs in C#. Time(min) 10 30 10 30
Topic
BTL
Recap& Session Introduction Define program constraints Demonstrate programs C# Control flow constructs C# Operators
10
Conclusion& summary of session
05
Teaching – Learning Method
1 1
Chalk & Board LTC
1
Chalk & Board
1
Chalk & Board
-
-
Session Number: 11 Session Outcome: Students will be able to: 1. Understand custom class methods in C#. 2. Understand Array manipulation in C#. Time(min) 10 30 10 30 10
Topic
BTL
Teaching – Learning Method
Recap& Session Introduction Defining custom class methods in C# and Method parameter modifiers Demonstrate programs Array manipulation in C#
1 1
Chalk & Board LTC
1
Chalk & Board
String manipulation in C#
1
Chalk & Board
-
-
Conclusion& summary of session
05
Session Number: 12 Session Outcome: At the end of this session my students will be able to: 1. Understand C# Enumerations. 2. Understand structures in C#. Time(min)
Topic
10 30 10 30 10 05 Session Number: 13 Session Outcome:
BTL
Teaching – Learning Method
Recap& Session Introduction Defining Enumerations in C# Demonstrate programs Structures in C#
1 1
Chalk & Board LTC
1
Chalk & Board
Custom name spaces in C#
1
Chalk & Board
-
-
Conclusion& summary of session
Students will be able to: 1. Apply default public interface using C# 2. Apply Encapsulation services on C# classes Time(min) 10 30 10 30 10
Topic
BTL
Teaching – Learning Method
Recap& Session Introduction Understand default public interface using C# Demonstrate programs Encapsulation services in C#
2 2
Chalk & Board LTC
2
Chalk & Board
Creation of read only field in C#
2
Chalk & Board
-
-
Conclusion& summary of session
05 Session Number: 14 Session Outcome: Students will be able to:
1. Apply inheritance concepts on C# classes. 2. Apply protected types on C# Classes Time(min)
Topic
10 30 10 30 10
BTL Recap& Session Introduction Defining inheritance in C# Demonstrate programs Protected keywords in C#
2 2
Chalk & Board LTC
2
Chalk & Board
Nested type definitions in C#
2
Chalk & Board
-
-
Conclusion& summary of session
05
Teaching – Learning Method
Session Number: 15 Session Outcome: Students will be able to: 1. Apply polymorphism concepts on C# classes. 2. Apply runtime polymorphism concepts in c#. Time(min)
Topic
10 30 10 30 10 05
BTL
Teaching – Learning Method
Recap& Session Introduction Defining polymorphism Demonstrate programs Demonstrate polymorphism using C#
2 2
Chalk & Board LTC
2
Chalk & Board
Generate class definitions using .Net
2
Chalk & Board
Conclusion& summary of session
Session Number: 16 Session Outcome: Students will be able to: 1. Apply debugging techniques in C# programs.
-
2. Apply exception handling techniques in C# programs. Time(min)
Topic
10 30 10 40
BTL
Teaching – Learning Method
Recap& Session Introduction Defining bugs and exceptions Demonstrate programs Demonstrate role of .Net exception handling in C#
2 2
Chalk & Board LTC
2
Chalk & Board
Conclusion& summary of session
-
-
05 Session Number: 17 Session Outcome: Students will be able to:
1. Apply multiple exception statements on C# classes 2. Applydebugging system exception using .NET. Time(min)
Topic
10 30 30
BTL
Teaching – Learning Method
Recap& Session Introduction CLR system and application level exception. Handle multiple exceptions.
2
Chalk & Board
2
Chalk & Board
Debugging system exception using .Net.
2
Chalk & Board
-
-
20
Conclusion& summary of session
05 Session Number: 18 Session Outcome: Students will be able to:
1. Apply Object life time concept in c#. 2. Applygarbage collection techniques on C# classes. Time(min)
Topic
10 30 10 30 10
BTL Recap& Session Introduction Defining Object life time. Demonstrate programs Garbage collection in C#.
2 2
Chalk & Board LTC
2
Chalk & Board
Garbage collection optimization in C#.
2
Chalk & Board
-
-
Conclusion& summary of session
05
Teaching – Learning Method
Session Number: 19 Session Outcome: Students will be able to: 1. Apply interface concept on C# classes 2. Apply multiple inheritance. Time(min) 10 30 10
Topic
BTL Recap& Session Introduction Defining interfaces using C# Demonstrate programs
2 2
Teaching – Learning Method Chalk & Board LTC
30
Interfaces as Polymorphic agents
2
Chalk & Board
10
Building interface Hierarchies
2
Chalk & Board
-
-
Conclusion& summary of session
05 Session Number: 20 Session Outcome: Students will be able to:
1. Apply multiple inheritance using C# interfaces. 2. Apply abstract class concepts in C# classes Time(min)
Topic
BTL
10 30 10 30 10
Recap& Session Introduction Implement multiple inheritance using interfaces Demonstrate programs Contrasting interfaces to Abstract base classes
2 2
Chalk & Board LTC
2
Chalk & Board
Invoking interface members at object level
2
Chalk & Board
-
-
Conclusion& summary of session
05
Teaching – Learning Method
Session Number: 21 Session Outcome: Students will be able to: 1. Apply is and as type relations using interface reference. 2. Apply interface as parameter in C# classes. Time(min)
Topic
10 30 10 30
BTL
Teaching – Learning Method
Recap& Session Introduction Obtain inter face reference with as and is key words Demonstrate programs Interfaces as parameters
2 2
Chalk & Board LTC
2
Chalk & Board
Understand explicit interface implementation
2
Chalk & Board
-
-
10
Conclusion& summary of session
05 Session Number: 22 Session Outcome: At Students will be able to:
1. Apply IConvertible interface methods in C# Classes 2. Apply interface libraries on C# classes. Time(min)
Topic
10 30 10 30 10 05 Session Number: 23
BTL
Teaching – Learning Method
Recap& Session Introduction Implement interfaces using VS.NET Demonstrate programs Understand the IConvertible Interface and Methods
2 2
Chalk & Board LTC
2
Chalk & Board
Demonstrate Programs
2
LTC
-
-
Conclusion& summary of session
Session Outcome: At the end of this class hour my students will be able to: 1. Apply Enumerator types in C# classes 2. Apply C# Collections on programs Time(min)
Topic
10 30 10 30 10
Recap& Session Introduction Building custom Enumerators Demonstrate programs C# Collections
2 2
Chalk & Board LTC
2
Chalk & Board
Demonstrate Programs
2
LTC
-
-
Conclusion& summary of session
05
Teaching – Learning Method
BTL
Session Number: 24 Session Outcome: Students will be able to: 1. Apply delegate types in C# classes 2. Apply events in C# classes Time(min)
Topic
10 30 10 30
Recap& Session Introduction Understand callback interface Understand .NET delegate types Define delegates in C#
2 2
Chalk & Board Chalk & Board
2
LTC
Define C# Events
2
LTC
-
-
10
Conclusion& summary of session
05
Teaching – Learning Method
BTL
EVALUATION PLAN:
Evaluation Componen t
CO II
COI Number
Test 1
1 Date Weightage 10 (%)
27/1/16
1.5
Max Marks (30) Weightage 10 (%) Max Marks (30)
02/3/16
2
3
1
2
3
Duration (Hours) 10 10
Test 2
CO IV
CO I
Weightage/Marks
BTL
CO III
1 0
1 0
1.5
10 1 0
10
10
1
2
3
1
2
3
Test 3
Weightage 10 (%)
29/3/16
1.5
10 10
Max Marks (30) Active Learning
10
Weightage 5 (%) 5
Max Marks (5) Attendance
Semester End Exam
10
Equal weightage for all the lecture sessions (5 %) 5
Weightag e (5%) Weightage 60 (%)
May 2016
3 12
Max Marks (60) 1
Question Number
2
12 3
12 4
5
6
24 7
8
Course Team members, Chamber Consultation Hours and Chamber Venue details: S.No.
1
2
Name of Faculty
Chamber Consultation Day(s)
Dr.JVN Ramesh
Saturday
Dr.K.V.Daya Sagar
Saturday
Chamber Consultation Timings for each day 11:00-1:00 P.M 11:00-1:00 P.M
Chamber Consultation Room No:
Signature of Course faculty
ECM STAFF CABINS III Floor C-Block ECM STAFF CABINS III Floor C-Block
Signature of COURSE COORDINATOR:
Recommended by HEAD OF DEPARTMENT: Approved By: DEAN-ACADEMICS (Sign withOffice Seal)