We may earn an affiliate commission when you visit our partners.
Course image
Phillip Burton • 850,000+ students so far and I Do Data Limited

Welcome to my course on 98-361 "Software Development Fundamentals" using C#. In this course, we will be looking at a variety of different types of programs and concepts around programming.

Please note: This course is not affiliated with, endorsed by, or sponsored by Microsoft.

What do people like you say about this course?

Jo says: "As a SWE with experience. This course is an awesome refresher. I will definitely recommend to anyone taking this certification."

Biruk says: "It is quite easy to follow and the instructor's depth of knowledge is amazing. Enjoying the lesson"

Read more

Welcome to my course on 98-361 "Software Development Fundamentals" using C#. In this course, we will be looking at a variety of different types of programs and concepts around programming.

Please note: This course is not affiliated with, endorsed by, or sponsored by Microsoft.

What do people like you say about this course?

Jo says: "As a SWE with experience. This course is an awesome refresher. I will definitely recommend to anyone taking this certification."

Biruk says: "It is quite easy to follow and the instructor's depth of knowledge is amazing. Enjoying the lesson"

Darryl says: "Great Course From An Excellent Instructor. Really Deep And Informative Learning 5*"

We'll start off with looking at Core Programming. We will download for free the Visual Studio Community edition, and use it to investigate the fundamental C# statements. We'll look at decision structures such as If and Switch [Case Select], repetition such as For loops, While loops and recursion, and then we'll look at errors and find out how to handle them.

We'll then look at Object-Oriented Programming. We'll go deeper into concepts that we have already used, such as namespaces, methods and classes, and add to them using events and constructors. We'll see how you can duplicate and develop classes using inheritance, polymorphism and encapsulation.

Next up is General Software Development. We'll look at various different data structures such as arrays, stacks, queues and linked lists, and we'll also look at sorting algorithms. We'll then take a step back and look at application life cycle management, and how to interpret application specifications.

The next thing to look at is Web Applications. We'll look at web page development using HTML, Cascading Style Sheets and JavaScript. We'll then investigate ASP.NET web application development, web hosting and web services.

Then we'll look at Desktop Applications. We will have been creating a lot of Console-based applications earlier in this course, but we'll add to this with Windows apps and Windows Services.

We'll finish by looking at Databases. We look at the basics of Relational Database Management Systems, look at database query methods, including the six clauses of the SELECT statement, and find out how to connect to databases from Visual Studio.

No prior knowledge is required - we'll even see how to get Visual Studio for free.

There are regular quizzes to help you remember the information, so you can be sure that you are learning.

Once you have completed this course, you will have a good introductory knowledge of Software Development.

So, without any further ado, let's have a look at how you can use Udemy interface, and then we'll have a look at the objectives for the exam and therefore the syllabus for this course.

Enroll now

What's inside

Learning objectives

  • Core programming fundamentals, such as decision structures, repetition and error handling
  • Object-oriented programming fundamentals, such as classes, inheritance, polymorphism and encapsulation
  • General software development fundamentals: application life cycle management, application specifications, and algorithms and data structures
  • Web applications fundamentals: web page development, microsoft asp net web application development, web hosting and web services
  • Desktop application fundamentals, namely windows apps, console-based applications and windows services
  • Databases fundamentals, including query methods and database connection methods

Syllabus

Introduction
Welcome to Udemy
How to get the best out of your Udemy course
Do you want auto-translated subtitles in more languages?
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Begins with downloading Visual Studio Community edition for free, which is a great way for beginners to get started without any initial investment
Covers core programming concepts like decision structures, loops, and error handling, which are fundamental building blocks for any programming language
Explores object-oriented programming principles such as inheritance, polymorphism, and encapsulation, which are essential for building modular and maintainable software
Includes web application development with HTML, CSS, JavaScript, and ASP.NET, providing a broad introduction to full-stack development
Uses Visual Studio, which is a widely used IDE in the industry, so learners can gain familiarity with professional development tools
Teaches ASP.NET web application development, which may require a Windows-based environment, potentially limiting accessibility for learners using other operating systems

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Solid c# software development fundamentals

According to learners, this course provides a solid foundation in software development fundamentals using C#, particularly tailored for the 98-361 exam. Many find the content easy to follow and praise the instructor's clear explanations and depth of knowledge. Students consistently highlight its value for beginners with no prior programming experience, and also note it serves as an awesome refresher for those with existing development backgrounds. The course structure, including regular quizzes and coverage of core programming, OOP, data structures, and different application types, is generally well-received. While primarily focused on foundational concepts, the course effectively delivers on its stated objectives.
Aligned with 98-361 certification objectives.
"Definitely recommend to anyone taking this certification."
"The course syllabus aligns well with the 98-361 exam topics."
"I feel much more prepared for the Software Development Fundamentals exam after completing this."
Valuable for both new learners and experienced.
"As a SWE with experience. This course is an awesome refresher."
"No prior knowledge is required - we'll even see how to get Visual Studio for free."
"This course is perfect for someone just starting out in programming."
Instructor is easy to follow and knowledgeable.
"It is quite easy to follow and the instructor's depth of knowledge is amazing."
"Great Course From An Excellent Instructor. Really Deep And Informative Learning."
"The instructor explains complex topics in a clear and understandable way."
Provides a solid basis in core concepts.
"This course is an awesome refresher. I will definitely recommend to anyone taking this certification."
"I've gained a solid foundation in software development concepts through this course."
"Really helped solidify my understanding of the fundamental concepts in C#."
Does not cover advanced topics in depth.
"While great for basics, don't expect deep dives into advanced C# features."
"It covers the fundamentals thoroughly but stops short of complex, real-world application building."
"The course is true to its title: fundamentals. Anything beyond that requires further study."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 98-361: Software Development Fundamentals (using C#) with these activities:
Review Object-Oriented Programming Concepts
Solidify your understanding of OOP principles before diving into C# specific implementations. This will make grasping the course material much easier.
Show steps
  • Review the definitions of classes, objects, inheritance, polymorphism, and encapsulation.
  • Find examples of OOP concepts in other programming languages you may know.
  • Complete a short quiz on OOP fundamentals.
Head First C#
Use a beginner-friendly book to reinforce your understanding of C# fundamentals. This book provides a visual and engaging approach to learning C#.
View Head First C# on Amazon
Show steps
  • Read the chapters covering the topics in the course.
  • Complete the exercises and quizzes in the book.
  • Use the book as a supplementary resource to the course materials.
Practice C# Syntax with Code Exercises
Reinforce your understanding of C# syntax through hands-on coding exercises. This will improve your ability to write and debug C# code.
Show steps
  • Find online resources with C# coding exercises for beginners.
  • Work through exercises covering variables, data types, operators, and control flow.
  • Debug your code and test it thoroughly.
Four other activities
Expand to see all activities and additional details
Show all seven activities
C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development
Supplement your learning with a comprehensive guide to C# and .NET Core. This book will provide additional depth and breadth to the course material.
Show steps
  • Read the chapters relevant to the topics covered in the course.
  • Work through the examples and exercises in the book.
  • Use the book as a reference when working on your own C# projects.
Create a C# Cheat Sheet
Compile a cheat sheet of essential C# syntax and concepts. This will serve as a handy reference guide and reinforce your understanding of the language.
Show steps
  • Identify the most important C# syntax and concepts.
  • Organize the information into a clear and concise format.
  • Include examples and explanations for each item.
Build a Simple Console Application
Apply your knowledge of C# to build a simple console application. This will help you solidify your understanding of the course material and develop practical programming skills.
Show steps
  • Choose a simple application idea, such as a calculator or a to-do list.
  • Design the application's user interface and functionality.
  • Write the C# code for the application.
  • Test and debug the application.
Contribute to a C# Open Source Project
Gain practical experience by contributing to a C# open source project. This will expose you to real-world coding practices and collaborative development.
Show steps
  • Find a C# open source project that interests you.
  • Read the project's documentation and contribution guidelines.
  • Identify a bug or feature that you can work on.
  • Submit a pull request with your changes.

Career center

Learners who complete 98-361: Software Development Fundamentals (using C#) will develop knowledge and skills that may be useful to these careers:
Junior Software Developer
A Junior Software Developer can significantly benefit from this course. A junior developer is involved in writing, debugging, and maintaining code for software applications. This course helps build a foundation in core programming concepts using C#, including control structures, object oriented principles, and data structures. Knowledge of application lifecycle management and application specifications, as covered in the course, is essential for contributing effectively to software projects. The section on databases is also very relevant because databases are part of many common applications.
Software Engineer
A Software Engineer designs, develops, tests, and evaluates software systems and applications. This course helps build fundamental knowledge of software development concepts using C#, including core programming, object oriented programming, data structures, and algorithms. The course covers application lifecycle management and interpreting application specifications. The section on Web applications, Desktop applications and Databases can be useful to a software engineer. This course provides a solid foundation for a software engineer.
Web Developer
A Web Developer creates and maintains websites and web applications. This course is beneficial because it covers web page development using HTML, Cascading Style Sheets, and JavaScript, which are core technologies for front end web development. Furthermore, the course introduces ASP.NET web application development, web hosting, and web services, providing a foundation for server side web development. A web developer should take this course to gain a comprehensive understanding of both client side and server side web development concepts.
Full-Stack Developer
A Full Stack Developer is proficient in both front end and back end development, handling all aspects of web application development. This course is very useful as it covers web page development using HTML, Cascading Style Sheets, and JavaScript for the front end, as well as ASP.NET web application development, web hosting, and web services for the back end. A full stack developer should use this course to build proficiency in both client side and server side technologies, allowing them to seamlessly work on all parts of a web application.
Applications Developer
An Applications Developer designs, develops, and implements software applications. This course helps build a strong foundation in programming fundamentals using C#, including object oriented programming, data structures, and algorithms. This course is particularly helpful because it covers desktop application development using Windows apps, console based applications, and Windows Services. Understanding application lifecycle management, as taught in the course, will allow an applications developer to produce higher quality software.
Front-End Developer
A Front End Developer specializes in developing the user interface of websites and web applications. This course helps build a foundation in web page development using HTML, Cascading Style Sheets (CSS), and JavaScript. These are essential technologies for front end development. While the course also covers ASP.NET, a front end developer would use the knowledge of HTML CSS and JavaScript to implement designs and create interactive user experiences. A front end developer should take this course to learn the tools and technologies of the trade.
Database Developer
A Database Developer designs, implements, and maintains databases. This course is very helpful because it covers the basics of Relational Database Management Systems (RDBMS), database query methods including the SELECT statement clauses, and how to connect to databases from Visual Studio. This introduction provides a strong foundation for a database developer. The course may be particularly helpful in learning how to interact with databases using C#.
Back-End Developer
A Back End Developer focuses on server side logic and database interactions for web applications. This course helps build a background in ASP.NET web application development, web hosting, and web services, which are essential for back end development using Microsoft technologies. Additionally, the course covers databases fundamentals. A back end developer would use this knowledge to implement APIs, manage data, and handle server side operations. This course provides a solid introduction to the skills needed for a back end developer.
Software Architect
A Software Architect makes high level design choices and dictates technical standards, including software coding standards, tools, and platforms. This course may be useful because it provides a broad overview of various software development concepts and technologies, including C# programming, web applications, desktop applications, and databases. Even though a software architect typically requires a bachelor's degree and experience, this course can help build a foundation in different technologies for making informed decisions and designing robust software systems.
Quality Assurance Engineer
A Quality Assurance Engineer ensures the quality of software through testing and analysis. This course may be helpful because it introduces fundamental concepts of programming. The course includes general software development topics such as software testing. A quality assurance engineer that understands the software development process can write better tests and more effectively identify defects. This course can help build a deeper understanding of software development.
Systems Analyst
A Systems Analyst analyzes an organization's computer systems and procedures and designs solutions. This course may be helpful because it covers application lifecycle management and how to interpret application specifications. Understanding these concepts allow a systems analyst to better understand the needs of an organization and to communicate those needs to developers. This course can help a systems analyst gain insight into software development processes.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, such as smartphones and tablets. While this course focuses on desktop and web applications, the core programming fundamentals using C#, object oriented programming concepts, and data structures are transferable to mobile app development. This course may be helpful in understanding underlying programming principles. This course provides background that can be applied to mobile app development frameworks like Xamarin, which uses C#.
Game Developer
A Game Developer creates video games for various platforms, including consoles, PCs, and mobile devices. While this course does not directly focus on game development, the core programming fundamentals using C#, object oriented programming concepts, and data structures are essential for game development. This course may be useful in learning underlying programming principles. Game developers use programming languages like C# and game engines like Unity. This course provides a foundation that can be built upon for game development.
DevOps Engineer
A DevOps Engineer is responsible for automating and streamlining the software development lifecycle, including building, testing, and deployment. While this course does not directly cover DevOps practices, the concepts of application lifecycle management and understanding different types of applications (web, desktop) may be useful to a DevOps engineer. This course may be helpful for understanding the software development process and the technologies that DevOps engineers support. This course provides insight into the applications that are deployed and managed.
Data Scientist
A Data Scientist analyzes complex data sets to extract insights and support decision making. While this course does not directly focus on data science, the programming fundamentals using C#, data structures, and database concepts may be useful to a data scientist. This course may be helpful for understanding underlying programming principles. A data scientist typically requires a graduate degree (master's or PhD), but this course can help build a foundation in programming that is useful in data analysis and manipulation.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 98-361: Software Development Fundamentals (using C#).
Head First C# visually rich and engaging book that makes learning C# fun and easy. It uses a unique learning style that helps you understand and remember the concepts. is particularly helpful for beginners who are new to programming.
Provides a comprehensive guide to C# 8.0 and .NET Core 3.0. It covers a wide range of topics, including language features, libraries, and tools. It useful reference for developers who want to build modern cross-platform applications with C#.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser