Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Microsoft

Professional C# Development Practices

Microsoft via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course advances your C# knowledge by focusing on collections, generics, LINQ, and asynchronous programming. You’ll also learn to work with files, manage exceptions effectively, and use advanced debugging tools. The course emphasizes applying advanced techniques to develop reliable and scalable applications for business or enterprise contexts. By the end of this course, you will be able to: Implement collections, generics, and LINQ queries Develop asynchronous programs using async/await Read, write, and manipulate files in C# applications Debug and optimize applications using advanced tools Tools/Software: Microsoft Visual Studio, .NET SDK, LINQPad (optional) Skills: LINQ, Asynchronous programming, File handling, Debugging, Problem solving

Syllabus

  • Professional Code Quality and Testing
    • In this module, you will transition from being able to write functional C# code to writing professional-quality code that meets enterprise standards. You'll learn the coding practices, testing strategies, and code review techniques that separate amateur programmers from professional developers. This module emphasizes the critical importance of code quality in real-world applications where poor practices can cost companies millions of dollars and compromise system security. You'll master industry-standard coding conventions, develop comprehensive testing mindsets that catch issues before they reach production, and learn systematic code review and optimization techniques used in professional development teams. Additionally, you'll discover how AI assistance can enhance code quality and streamline professional development workflows. By the end of this module, you'll write code that not only works correctly but is maintainable, secure, testable, and optimized for professional software development environments.
  • Data Structures and Collections
    • In this module, you will master the art of selecting and implementing the most appropriate data structures for different programming scenarios, a critical skill that separates efficient applications from poorly performing ones. Building on your object-oriented programming foundation, you'll learn to work with C#'s rich collection framework including arrays, lists, dictionaries, sets, stacks, and queues. You'll understand not just how to use these data structures, but when and why to choose one over another based on performance characteristics and specific use cases. Additionally, you'll explore modern C# collection features including collection expressions and advanced initialization techniques that make your code more concise and readable. Through performance analysis using Big O notation, you'll develop the analytical skills to predict and optimize application performance. By the end of this module, you'll confidently select the right data structure for any programming challenge and implement collections efficiently using modern C# best practices.
  • Exception Handling and Input/Output Operations
    • In this module, you will master the critical skills needed to build robust, fault-tolerant applications that handle real-world challenges gracefully. You'll learn comprehensive exception handling strategies that prevent application crashes and provide meaningful error recovery, essential skills for professional software that must maintain uptime in production environments. Additionally, you'll explore the full spectrum of input/output operations including file system management, text processing, and advanced stream operations that enable applications to persist data and communicate with external systems. Through systematic debugging of complex I/O scenarios and exception conditions, you'll develop the troubleshooting expertise needed to maintain reliable applications in enterprise environments. By the end of this module, you'll create applications that not only function correctly under ideal conditions but also handle errors gracefully, process data efficiently, and maintain reliability even when encountering unexpected situations.
  • Asynchronous Programming in C#
    • In this module, you will learn the fundamental concepts of asynchronous programming and understand its importance in modern applications. You'll implement async and await in C# programs and develop practical solutions using asynchronous techniques. By the end, you’ll be able to debug asynchronous code and create simple asynchronous programs, enhancing the performance of your applications.
  • Hands-on Course Project - Robust File Processing Application
    • Build a professional-quality console application that processes various file types while demonstrating mastery of professional coding standards, comprehensive testing strategies, exception handling, I/O operations, and AI-assisted development practices learned throughout the course.

Taught by

Microsoft

Reviews

Start your review of Professional C# Development Practices

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.