• Length:
    4 Weeks
  • Effort:
    2–4 hours per week
  • Price:

    Add a Verified Certificate for $99 USD

  • Institution
  • Subject:
  • Level:
  • Language:
  • Video Transcript:


Familiarity with C# programming language

About this course

Skip About this course
Even the most talented young developers face some frustration while transitioning from student to qualified developer - despite working in programming languages they know and love.

Typical challenges include not knowing where to start to fix a bug, lack of awareness of other tools of the IDE, faltering when jumping between the class definitions due to varying interfaces and abstract classes, discomfort with unit test cases, and not fully unleashing the bandwidth of the CPU and network.

In short, good coding is not enough. There are several very critical techniques needed to be a fully qualified developer - and not all of these are covered in textbooks. 

This course explores the most critical techniques that will get you through at least 80% of your most challenging scenarios. These include debugging, unit test skills, object-oriented design principles, choice of correct data structures, and parallel programming.

Most of these topics are considered "advanced techniques" and are not covered in textbooks. Therefore, students often learn these skills only later in their careers. In reality, these topics are simple, interesting, and prime for daily use.

As you take this course, you'll fill missing gaps in your learning, you'll build a stronger mindset (more than an "it just works" mentality), and you'll overcome any fear of these topics through easy-to-understand (and even funny) code examples.

After having explored these topics you'll be able to assimilate into any team and ramp up on a given project with ease. Enjoy!

What you'll learn

Skip What you'll learn
  • How to find, isolate, and fix bugs
  • Powerful debugging tools
  • Ways to handle exceptions properly
  • How to use unit tests to cover and verify the code
  • The fundamental principles of writing object-oriented code
  • How to distinguish the differences between collections
  • The importance of application performance
  • Parallel programming

Meet your instructors

Timothy Liu
Full-stack software engineer and technical writer
Myriad System
Andrew Byrne
Senior Content Developer
Microsoft Corporation
Philip E. Helsel
Senior Content Developer, Learning eXperiences Team

Pursue a Verified Certificate to highlight the knowledge and skills you gain

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally