Modern Software Development: Architecting .NET Solutions with C# (15 Videos)
This is a free 15-part video tutorial series on C# by Dr. Joe Hummel. Topics in this series include: C# String, C# Dataset, C# Object, C# Thread, C# Array, MSDN C#, Datagrid C#Joe Hummel is an associate professor of Computer Science at Lake Forest College in a suburb of Chicago, IL. Joe has a PhD in Computer Science from the University of California, Irvine. He is a co-author of two books on Visual Basic, his most recent written with Ted Pattison entitled “Building Applications and Components with Visual Basic .NET”
Here is where you can download the source code and labs for this video series.
photo credit: slashcrisis
Architecting .NET Solutions with C#
1. Program Execution in the 21st Century |
Key Concepts:A. Overview of how programs execute in today’s environments B. Virtual machines C. Sandboxes D. Security E. The .NET Framework Class Library (FxCL) F. Component-based development and execution G. Version-aware, digitally signed assemblies H. The GAC I. JIT compilation J. Garbage collection K. Compare the JVM with the CLR. March 01, 2005 69 minutes |
2. Classes, Components and Namespaces |
Key Concepts:A. Overview of classes, fields and methods in C# B. Creating classes in C# C. Organizing classes through namespaces D. Packaging classes into components E. Compare static members with instance members F. Consuming components in the client G. Parameter passing. March 15, 2005 92 minutes |
3. Rapid Application Development with Visual Studio .NET |
Key Concepts:A. Executive summary of the C# programming language B. The more subtle areas of OOP in .NET C. Creating, using, and disposing of objects D. The object data type E. Overloading F. Cloning G. Boxing H. Generics I. Advantages and disadvantages of using references and values J. Classes in the .NET Framework Class Library (FxCL). March 22, 2005 89 minutes |
4. Class Design for the .NET Framework |
Key Concepts:A. Extends your base knowledge of OOP B. Good class design C. Principles and practices for .NET D. Constructors (toString, equals, hashCode) E. Throwing exceptions F. Data hiding G. Properties H. Finalization, close and dispose I. XML documents and indexers J. Compare the advantages and disadvantages of shallow vs. deep cloning. March 29, 2005 99 minutes |
5. Defensive Programming |
Key Concepts:A. Designing more robust components B. Programming more defensively to help identify and quickly isolate run-time errors C. Exception handling D. Tracing E. Logging F. Debugging G. Assertions. H. How to design applications and classes with exceptions. April 12, 2005 99 minutes |
6. WinForms: GUI Programming in .NET |
Key Concepts:A. Overview of the .NET Windows Forms namespace and classes B. Event-driven programming with delegates C. Multi-form applications D. Validation E. Data binding F. Comparison of modal vs. modeless forms April 19, 2005 115 minutes |
7. ADO.NET: Database Programming in .NET |
Key Concepts:A. Overview of the ADO.NET architecture B. Stored procedures C. Server-side access using ExecuteReader and ExecuteScalar D. Client-side access using DataSet E. Modifying a database with ExecuteNonquery F. DataSets April 26, 2005 103 minutes |
8. Multi-tier Application Design |
Key Concepts:A. Compare different approaches to application design such as thick vs. thin and OOP vs. not, and weigh the pros and cons of using data vs. business objects B. Data object design using transactions C. Try-Catch-Finally D. Data passing E. Business object design F. Placement of physical tiers. May 10, 2005 108 minutes |
9. Interfaces and Design-by-Contract in .NET |
Key Concepts:A. Contract-based programming and design reuse, B. Plug-compatible components (“acts-like”) C. Generic database programming with ADO.NET interfaces, and interfaces in the FxCL, including serialization, sorting, disposing, and iterating. D. Why and how to create your own interfaces E. Design patterns F. The future of application design in .NET. May 17, 2005 107 minutes |
10. Inheritance: Design and Code Reuse |
Key Concepts:A. Inheritance and “is-a” B. Polymorphic programming C. Design reuse with abstract base classes D. Code reuse with concrete base classes E. Inheritance in the FxCL using Collections and Exceptions G. How to define your own exception hierarchy H. How to implement a generic data access class hierarchy I. Revisit the idea of design patterns in view of these advanced techniques. May 24, 2005 115 minutes |
11. Component-Based Design and Programming |
Key Concepts:A. Nuances of building and deploying assemblies (components and executables) in .NET B. Assembly resolution C. Strong names D. Versioning E. Deployment options F. Configuration. May 31, 2005 106 minutes |
12. Distributed Multi-Tier Applications |
Key Concepts:A. Tthree most common ways of building a distributed, multi-tier application: Web forms, Web services, and remoting. B. Remote procedure calls C. Proxy-stub architecture D. Multithreading. June 07, 2005 112 minutes |
13. What’s New in Visual Studio .NET 2005 |
Key Concepts:A. New features in the 2005 release of Visual Studio .NET (code name “Whidbey”) B. Code snippets C. Code refactoring D. Edit and continue E. Debugging, and UML class diagrams F. ClickOnce and Bootstrapper deployment G. The new MSBuild platform June 14, 2005 97 minutes |
14. What’s New in C# and .NET 2.0 |
Key Concepts:A. New additions to C# and .NET 2.0 as part of the 2005 release of .NET and Visual Studio .NET (code name “Whidbey”) B. Generics C. Anonymous methods D. partial types E. Iterators F. Static classes| G. Changes in the .NET 2.0 FxCL (Framework Class Library). June 21, 2005 95 minutes |
15. The Microsoft .NET Team System |
Key Concepts:A. Team System B. Modeling C. Testing D. Change management E. Source code control June 28, 2005 89 minutes |