Welcome to the wonderful world of dot net programming.
Before I go in the details of
the syllabus of the course, I would like to mention that the world of computer software
is limited only with the limits of imagination. The topics we are going to learn are as
follows. The course is divided into thee modules. The modules will take up about two
months- five classes a week with each class of two hours. This is a online course.
The topics are as follows:
1. Front End, Back end
2. Single Tier, Two Tier, Three Tier Systems and multi Tier Systems.
3. Visual Studio.Net, C# 2019.
4. A Calculator Program- with tradition programming versus OOP.
5. Event Driven Programming- Raising Events and Event handlers.
6. Database, Relational Database.(Normalization/PK,FK).
7. SQL Server 2019.
8. SQL –The language of Database.
9. ADO , ADO.Net
10. Super Market Project.
11. Console programming.
12. More Tools from the Toolbox.
13. Classes in C# -An introduction to Class Diagram.
14. Bringing Class to life – With Objects.
15. Class Library.
16. Pre-defined Libraries – An indispensable tool.
17. Implementing Object Oriented concepts in C# 2019.
18. Debugging Techniques in C# 2019.
19. Connecting C# 2019 with SQL Server.
20. Analysis and Design of Super Market with Data Warehousing.
21. Migrating to ASP.Net.
22. Super Market on the Web.
23. HTML/CSS.
24. Server Client Systems- Server and Browser.
25. ASP.Net Controls.
26. Coming back to C# 2019.
27. Using Class Library.
28. State Management.
29. Site Navigation.
30. Understanding Application and Sessions Objects.
31. Menus with CSS/Login Control.
This course is designed so, that it makes learning easy, exciting and enjoyable. With
simple and real life examples the students learn the concepts and then the language,
thus enabling them to create their own projects.
This course is divided into three modules-Introduction and Databases, Desktop
programming and Web Programming. Points 1 to 10 are Introduction and Databases,
11-20 are Desktop programming, and 21-30 are Web Programming. The duration of
the course will be two months, five weeks for module 1 and 2, and three weeks for
module three. Each class will be of two hours with four classes per week. Timings are
flexible and can be decided mutually. Web services and MVC are not in scope of the
course.
Let us look at the details of the course now.
The course starts off with basic concepts like Front End, Back End and multi tiered
systems. Flow Charts should be familiar with the students. If not a small introduction
will be made. Thereafter Visual Studio is introduced with an introduction to the
various suite items and the IDE-Integrated Development Environment. However F#
will not be covered here. Before the introduction of Visual C# or Visual Basic an
introduction to data types will be elaborated, Since this is a basic requirement I hope
the students will be familiar with this important subject. If not, this will be explained
clearly. As Visual Studio is introduced we will also see how the picture fits in. How
the CLR- Common Language Runtime integrates the languages will be appreciated.
After the introduction of Visual Studio Suite a small Calculator program will be
taught. Both traditional programming and the OOPS version will be taught for the
students to appreciate the power of OOP. With the Calculator program event driven
concepts will also be introduced. Event raisers and Event handlers will be taught.
Some debugging techniques will also be introduced now, like the Immediate Window,
Break points and Error List.
Next the need for database will be introduced, and Relational Databases will be
coached quite extensively. Right from gathering raw data and how to convert these to
tables will be taught descriptively. Normalization and the concept of Primary and
Foreign key will be introduced. It is very important that the students grasp these
concepts. SQL Server will be used to teach the concept of tables. Fields with datatypes
will be shown. Thereafter SQL-Structured Query Language will be taught. How to
make a table with a query and how to do it manually, similarly how to insert through a
quey and manually will be explained. Only the basic language will be thought. Joins
will be taught, although we will not be using these in the development of the project.
Joins will be merely taught for the completion of the SQL Language. The fetching of
data from the Database and combining of tables will be use with a technique of OOPS
called indirection. I use this technique because it helps the students to develop more
separate blocks of code instead of developing something like the Spaghetti Code.
Reports will also be developed with the help of Objects rather than direct queries.
Introduction to Stored Procedures in SQL Server will be taught. We will take up some
real purchase bills from the SuperMarket stored in a excel file. We will slowly
progress as we normalize the tables. After normalizing the tables we will write the
same in SQL Server Database.
Next we come to the development of a project called SuperMarket. How to convert
the normalized tables to objects will be thoroughly explained. How to represent
Objects and collection with their respective properties will be explained clearly. A
detailed Data Flow Diagram of the SuperMarket will be drawn to see how the various
entities are interconnected. A Data Dictionary will be developed with the help of Data
Flow Diagrams. All in all a complete detailed analysis of the SuperMarket project will
be systematically explained.
Now we will come to console programming where core concepts will be detailed.
Console Input and Output will be explained clearly. Then the introduction of looping
structures and decision making will be detailed. Procedures and Function calls will be
taught. After the student has familiarized with the above, we will now shift our focus
to desk top programming. More tools from the tool box will be introduced. An
important debugging technique Call Stack will be explained clearly. Then we begin
with the OOPS module. Classes, Collections, Inheritance, Abstraction, Overloading,
etc will be taught. Next, the students will be taught how to write a Class and
Collections. Interfaces will be explained next and the students will appreciate the
differences between Abstract classes and Interfaces. An introduction to Class diagram
will also be taught. Simultaneously I will be teaching about Objects and how they are
created and manipulated. Class library and its advantages and their relationship with
assemblies will also be explained plainly. Pre defined Libraries or assemblies would
have already been introduced with Collections. The next to be explained will be how
to link C#/SQL Server with libraries. We will finish with again explaining the
concepts of Data Warehousing- collecting data and implementing to make data
structures,
This will be the end of Module two.
The third module begins with the introduction of Client Server Model. This will pave
the way for the development of programs which will run on the servers and rendering
to browsers. A brief idea about how we can implement the SuperMarket on the Web.
An introduction to HTML/CSS and ASPX pages will be made. A small snippet of
JavaScript will be shown and shown where it has to be inserted in the Server page.
ASPX controls versus HTML controls will be explained, and the class library which
was developed in the previous module will be referenced here. Since the HTML
protocol is a stateless protocol how State is managed in HTML will be explained.
Finally we will study about Site navigation with navigation controls and ending with a
login control.
Definitely this is not the end; the student will be encouraged to continue more on the
Login Control making use of Profiles. Entity Frame work is also an important topic to
be persued. Of course I will not be justified if I don’t mention XML – the next stop for
data storage and transfer. These topics are not within the purview of this course.