Course Specifications
Course number: 085523
Software: Visual Studio.NET, Enterprise or Professional Edition.
Course length: 5 days
Course Description
You have already briefly entered into the new world of .NET programming, using some of the basic features of the C# programming language and the Visual C#.NET integrated development environment inside Visual Studio.NET. Building on the basics, you are now ready to seriously pursue the advanced aspects of Visual C#.NET programming that are introduced in this course. This is one in a series of Visual C#.NET programming courses offered by Element K.
Course Objective: You will program rich client Windows desktop applications and distributed applications using Visual C#.NET.
Target Student: Visual Basic, C++, or Java programmers with at least one year of practical experience who want to be a Visual C#.NET programmer, able to program rich client desktop applications and distributed applications, and/or is seeking Windows Application Developer certification.
Prerequisites: To ensure your success, we recommend you first take the following Element K course or have equivalent knowledge:
- .NET Framework: Introduction
- Visual Studio.NET: Introduction
- Visual C#.NET: Introduction for Developers
Delivery Method: Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities.
Hardware Requirements
- PC with a Pentium II-class processor, 500 megahertz (MHz); Pentium III-class processor, 600 MHz or higher, recommended.
- 128 MB of RAM is the recommended minimum for running this course on Windows 2000 Professional, 192 MB of RAM is the recommended minimum for running this course on Windows 2000 Server, and 160 MB of RAM is the recommended minimum for running this course on Windows XP Professional.
- 500 MB on system drive and 4.0 GB on installation drive.
- CD-ROM drive.
- Super VGA recommended (set at least to 800×600 screen resolution) with 256 colors.
- An Internet connection with access to the World Wide Web.
Platform Requirements
- Windows 2000 Server, Windows 2000 Professional, or Windows XP Professional.
Software Requirements
- Visual Studio.NET, Enterprise or Professional Edition.
- Microsoft Internet Explorer 6.0.
Performance-Based Objectives
Upon successful completion of this course, students will be able to:
- add user interface elements to forms.
- display GDI+ graphics.
- work with delegates and events.
- input and output data.
- implement document printing.
- interact with the garbage collector.
- write multi-threaded programs.
- write Internet-based and distributed applications.
- implement user-based and code-based security.
- control and analyze compiled code.
Course Content
- Lesson 1: Adding User Interface Elements to Forms
- Topic 1A: Add a Menu to a Form-based Application
- Topic 1B: Handle a Menu Item
- Topic 1C: Create a Context Menu
- Topic 1D: Add a Toolbar
- Topic 1E: Add a Status Bar
- Topic 1F: Add a Splitter Bar
- Topic 1G: Create and Use a Modal Dialog Box
- Topic 1H: Use a Common Dialog Box
- Topic 1I: Create and Use a Modeless Dialog Box
- Lesson 2: Displaying GDI+ Graphics
- Topic 2A: Draw Graphics with Pens
- Topic 2B: Fill Areas with Brushes
- Topic 2C: Draw Text with Fonts
- Topic 2D: Draw Images
- Topic 2E: Perform Graphical Transformations
- Lesson 3: Working with Delegates and Events
- Topic 3A: Respond to Keyboard and Mouse Events
- Topic 3B: Use a Delegate
- Topic 3C: Work with Custom Events
- Lesson 4: Inputting and Outputting Data
- Topic 4A: Read and Write Text Data with Streams
- Topic 4B: Read and Write Binary Data
- Topic 4C: Implement Object Serialization
- Topic 4D: Implement Custom Serialization
- Lesson 5: Implementing Document Printing
- Topic 5A: Print a Document
- Topic 5B: Implement Print Preview
- Topic 5C: Print Headers and Footers
- Topic 5D: Scale Document Printing
- Lesson 6: Interacting with Garbage Collection
- Topic 6A: Force Garbage Collection
- Topic 6B: Investigate Garbage Collection
- Topic 6C: Expedite Clean-Up Using the Dispose Design Pattern
- Topic 6D: Manage Temporary Resources
- Lesson 7: Writing a Multi-threaded Application
- Topic 7A: Create a Thread
- Topic 7B: Modify Thread Priority
- Topic 7C: Control Execution of a Thread
- Topic 7D: Coordinate Threads Sequentially
- Topic 7E: Synchronize Access to Data from Multiple Threads in a Process
- Topic 7F: Synchronize Access to Data from Multiple Threads Between Processes
- Topic 7G: Synchronize Access to Methods in a Class
- Topic 7H: Store Data with Local Data Storage
- Lesson 8: Writing Internet and Distributed Applications
- Topic 8A: Write a Server Using Sockets
- Topic 8B: Write a Client Using Sockets
- Topic 8C: Write an HTTP Server
- Topic 8D: Write an HTTP Client
- Topic 8E: Write a Web Service
- Topic 8F: Consume a Web Service
- Topic 8G: Create a Server Using Remoting
- Topic 8H: Create a Client using Remoting
- Lesson 9: Implementing Security
- Topic 9A: Implement User-based Security
- Topic 9B: Implement Code Access Security
- Topic 9C: Configure Security Permissions
- Topic 9D: Implement Permission-based Security
- Topic 9E: Implement Data Encryption and Decryption
- Lesson 10: Controlling and Analyzing Compiled Code
- Topic 10A: Control Compilation using Pre-processor Directives and the Conditional Attribute
- Topic 10B: Analyze Assembly Types Using Reflection
- Topic 10C: Create Custom Attributes
- Topic 10D: Access Memory Directly Using Pointers