This course assumes you have covered the details in the previous courses (a programming level at least past object oriented principles).
It will cover how to write an MVC application, they implied layers involved and how to separate them into actual physical layers in the software.
Assuming a basic understanding of programming concepts obtained from the previous course. We will build on that here by explaining what MVC is, and how such a program is structured. Introducing basic design patterns (generic repository, dependency injection etc.) and explaining when they should be used. We will take a look at entity framework as the data access layer, and how to separate that out, and also how to separate out domain (business), service (Web API), and UI layers.
This course will follow the college course syllabus.
1st years: The concepts of data types, tables, relationships, basic queries and query types.
2nd years: Much more detail on database design considerations (ERD's, Normalisation, Indexing, Performance etc.).
My course is designed to help people who recognise they are having difficulty with understanding database principles at an early enough stage that they can be helped. So not for people to take the week prior to an exam.
I will help you identify your weakness and overcome them as I have a unique ability to explain technical concepts in a variety of easy to understand ways. It is also tied back directly to whatever course syllabus you are following so it becomes directly relevant to the exams.
Most cases it will be flexible enough to follow the students college course syllabus. There is no point in teaching 2nd years first year stuff unless there is a weakness that is affecting them. However if you are 1st or 2nd years, then it will cover the concepts already outlined in the description. If you are third years or masters degree students, the various principles can be studied indebt (for example, when to use tables, views, or queries for data access, or more detail on how indexes affect performance, or more complex queries, or relevant engineering best practices being studied).
This course will be very flexible and we can start at any desired stage and walk you through any part of the subject matter. Want to only know more about Generics? Why go through the basics? The general syllabus is only intended as an example of what could be covered.
My course is designed to both help people new to C# and to help you become a better developer generally.
I will help you identify your weakness and overcome them as I have a unique ability to explain technical concepts in a variety of easy to understand ways. It is also tied back directly to whatever other course syllabus you are following so it becomes directly relevant to your exams.
This is the starting point for all programmers. Each lesson will cover between 2 to 4 topics depending on the student and their abilities but the general lesson plan will be:
• Sequence (data types, variables, basic input and output).
• Iteration (repetition - for, do, and while loops).
• Decision (If, If-Else, If-ElseIf-Else, Switch, Trinary operator).
• Methods (Dividing your code into smaller chunks, then how to pass data between the chunks - methods, passing values by value and by reference, return types, and passing and returning multiple values).
• Finally (if time permits), we will focus on collections (Arrays, Lists etc.).
This first stage is the equivalent of the first semester of a 3rd level college programming course.
The second stage covers Object Oriented Programming OOP principles.
• Classes (defining and using classes).
• Inheritance (parent and child classes, and the general Is-A relationship).
• Polymorphism (Defining multiple things with the same name but still the computer knows what to do).
• Encapsulation (A detailed look at scope, and accessibility).
• Interfaces - This bridges the gap between stage 2 and 3.
This second stage is the equivalent of the second semester of a 3rd level college programming course.
The third stage covers additional advanced principles that you need to know to be an effective C# Programmer.
• A closer look into interfaces.
• Entity Frameworks (for which you may need to have in