
Develop practical C# programming skills through core concepts, including decision structures, loops, and OOP, using Visual Studio. Explore data structures, app lifecycles, web and desktop apps, and SQL Server.
Navigate your Udemy course with playback controls, adjust speed and volume, use subtitles and video quality options, access course content and resources, and manage notes, Q&A, and certificate of completion.
Aligns with the 98-361 software development fundamentals exam by teaching core programming, object oriented programming, web and desktop applications, and databases through console projects in Visual Studio.
Download the Visual Studio Community edition, select ASP.Net Web Development and .NET Desktop components, install, and launch Visual Studio to start developing with C# for Windows Forms and console applications.
Sign in with a Microsoft account to turn Visual Studio Community Edition from a 30-day trial into a licensed version and begin your first program. Create an account if needed.
Create your first C# program by building a console app in Visual Studio, writing hello world, and learning how to run, debug, and save your project.
Learn what defines a C# console program: a line nine statement using Console.WriteLine with a string literal and a mandatory semicolon, and how the console lacks a GUI.
Explore how the console class and system namespace interact, using statements simplify access. Understand classes, methods, namespaces, and the main method that runs code inside curly braces.
Practice activity one guides you to set up Visual Studio, create a console app in C sharp, output text with console dot write line, and add comments with //.
Create and use variables as containers, declare the int data type for numbers, assign values, and display results by concatenating numbers with strings in the console.
Compare float, double, and decimal types, noting float's range up to about 38 zeros with 6–9 digits of precision, double's 15–17 digits, and decimal's higher precision for finance.
Learn four essential C# data types: bool, string, char, and DateTime, with simple examples of boolean values, string literals and concatenation, a single Unicode character, and date-time values.
Learn to read flowcharts and map decision structures using start/terminator, data, process, and decision symbols; follow arrows and loops that repeat tasks until a condition is met.
Learn to implement if statements and conditional branching in c# with equality checks and braces, and see how omitting braces affects which statements run and why readability matters.
Learn how to evaluate a single condition in C# with comparison operators, including equality, not equal (!=), greater than, less than, and operator precedence.
Explore decision tables with multiple conditions and learn how or and operators produce final outcomes. Map true and false to go outside or stay indoors in C#.
Learn how integer division truncates decimals, cast integers to doubles to obtain floating point results, and use the remainder operator to analyze division outcomes.
Explore if-else decision structures in C#, including true and false paths, nesting, and multiple statements within blocks, with examples of remainder modulo and curly braces.
Learn how switch statements replace lengthy if-else chains by testing a single expression with cases and breaks. Explore exact matches, default handling, remainders, and cross-language decision structures used in programming.
Practice if statements, else if, and a switch in C# using mood and activity variables. Generate messages like 'I am happy and the activity is fun' and cover defaults.
Identify the right repetition method by exploring for loops, while loops, and do while loops. A for loop uses a counter, a condition, and an increment, with break to stop.
Learn how incrementing and decrementing variables works in C# using ++ and --. Explore postfix and prefix forms and their behavior in for loops and inline statements.
Explore while and do-while loops in comparison with for loops, showing how conditions, increments, and at least once execution shape repetition in C#.
Learn how to read user input in a console app using Console.ReadLine, convert input to a double with explicit conversion, and handle formatting errors.
Master structured exception handling with try, catch, and finally to manage input errors and file operations, using multiple catches for specific exceptions like format exceptions, and note when finally executes.
Explore implementing loops and error handling in C# by building a multiplier that reads numbers, converts input to int and double, and uses for, do-while, and try-catch structures.
Explore object oriented programming concepts by building a computer class with methods, creating objects, and invoking item.typing and sound to demonstrate encapsulation, inheritance, and polymorphism in C#.
Define an auto-implemented property in a C# class, using get and set to store a computer type as a string, and show per-object values for item and item2.
Explore creating a non auto property with explicit get and set, backed by a private field, and add validation to accept only laptop or desktop while returning unknown otherwise.
Explore C# access modifiers—private, public, internal, and protected—and how they govern access within a class, across namespaces, and between assemblies.
Create a mammal class with an auto property name, instantiate mammals named lion and kitten, print their names, and implement a sound method with if/else returning roar, bark, or noise.
Learn how to pass values to new instances and simplify initialization with object initializers, then use constructors to create a laptop or desktop in one step.
Learn how constructors initialize a new class instance in C#, including overloads with different parameters, default and parameterless forms, and the role of static classes.
Learn how to raise and subscribe to events in C#, define a public event with an event handler, use event args and sender, and enable decoupled communication between classes.
Explore building a C# mammal class with a private backing field, constructors, and property validation to prevent fish, plus event handling and subscription to respond to sounds.
Explore recursion by building a grand total calculator that chains add number through recursive calls, uses a running total, and defines a base case to avoid stack overflow.
Explore inheritance in C# by building a laptop that inherits from a computer, showing base and derived classes, single inheritance, and non-inherited constructors.
Extend a derived class by adding a new am i mobile method to a laptop, create a desktop class, and demonstrate inheritance and extending functionality toward polymorphism.
Refactor the mammal class into two derived subclasses, wild animal, and tame animal, implementing constructors; add modules that return am I wild or No, I am tame to reveal status.
Discover polymorphism by implementing overridden and abstract methods in derived classes, compare new versus override, and learn why abstract classes cannot be instantiated.
Explore how polymorphism lets derived classes override base class methods, using new to hide versus override to retain behavior and base class relationships.
Explore sealed override in C#, which prevents further overrides of an overridden method in derived classes. Learn how base and derived classes interact and how this safety mechanism protects behavior.
Explore encapsulation by treating a class as a black box and a single unit of properties and methods, using get and set with private access to protect internals.
Explore abstract and virtual classes in a mammal hierarchy, practice overriding methods, and analyze polymorphism to prepare for the next lesson on arrays, stacks, queues, and linked lists.
Explore single-dimension arrays in C# by creating an int array, using a for loop from index 0 to length-1, and understanding zero-based indexing and default values.
Learn how single and multidimensional arrays work, including indexing by coordinates and using length to locate items. Practice basic search techniques to find values like 13 across the array.
Create and populate a single string array named names, then print it with for loop. Build and print a two dimensional array of first and last names with foreach loop.
Explore stacks, a last in, first out collection, and master push, pop, peek, contains, and clear operations in C# using System.Collections.
Contrast stacks with queues by explaining first-in, first-out behavior and the queue operations enqueue, dequeue, peek, and clear contents, including terminology differences and a demonstration.
Learn how doubly linked lists in C# support forward and backward navigation, inserting in the middle, and operations like add first/last, add before/after, remove, contains, and clear.
Master stacks, queues, and linked lists in C# with System.Collections and System.Collections.Generic, performing push, pop, add, contains, and find operations, and explore sorting concepts like bubble sort and quick sort.
Learn the bubble sort algorithm by swapping adjacent items to bubble the highest values to the right and the lowest to the left, using a C# example.
Quicksort offers a fast alternative to bubble sort, using pivots and partitions to split the list into left and right sublists and then sort them.
Explore when to use arrays, stacks, queues, and linked lists, compare performance and growth, and learn fast sorting with quicksort versus bubble sort for practical data structure choices.
Explore how computer memory stores programs and instructions using stacks and heaps, comparing stack-based value types to heap-based reference types, and highlighting pointers, arrays, strings, and garbage collection.
Explore the phases of application lifecycle management—from requirements and vision to design, implementation, verification, and maintenance—highlighting models, prototypes, and agile 1–4 week sprint.
Learn software testing as part of the application lifecycle management, comparing black box testing with white box testing, and combining both to test inputs, outputs, units, and system behavior.
Interpret application specifications by mapping requirements to design and selecting input interfaces such as console, Windows forms, or web. Sketch a flow, define sorting inputs and order, and prototype components.
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.