Overview
Object-oriented programming is a widely utilized programming paradigm and one of the main technical skills required to land a software engineering position in any IT company. This course equips you with the required technical skills to design and develop high-quality object-oriented software systems using the C# programming language. The course focuses on the C# programming language since it is one of the most used programming languages in the industry. With the C# programing language, you can create a wide range of software systems including Console applications, Windows desktop applications, mobile apps, TV apps, web applications, game programming, etc. The course starts with basic C# programming, then introduces the main concepts of object-oriented programming. After that, the course covers the arrays and generic data collections. Finally, the course covers the language integrated query (LINQ) concept in which you will be able to query data from various data sources. In addition to the in-video quizzes, at the end of each module, there will be a practice quiz and a graded programming assignment.
Consider enrolling in this course, if you are an Arabic speaker who has finished a bachelor's degree in IT and looking for a software engineering position to make the world a better place to live in and get a decent salary but lack the knowledge in object-oriented programming. If you are an undergraduate IT Arabic speaker student who is struggling in programming and keen to learn object-oriented programming so you can find a software engineering position immediately after you graduate, we highly recommend this course for you. However, if you are not in the IT field and are passionate to change your field to be a software engineer, this course is the perfect fit for you with extra effort. Keep in your mind that this course expects you to have quality time to apply what you learn in the course and do the required educational activities including coding assessments.
To be successful in this course, you should have basic experience in any programming language such as C#, Java, Python, JavaScript, C++, PHP, etc.
Syllabus
- Basics of C# programming
- This module will provide crucial information about object-oriented (OO) programming using C# programming language. This module covers the basic information about classes, objects, properties, static and non-static members, control statements, and the difference between call by value and call by reference.
- Object Oriented Concepts
- This module will provide the main concepts of object-oriented programming including data encapsulation, inheritance, abstract classes, interface, and polymorphism. Moreover, this module covers the exception handling techniques using language-defined exceptions and user-defined exceptions.
- Data collection
- This module will cover various pre-defined data structures in the C# programming languages. The module will cover the various types of arrays including one-dimensional arrays, multi-dimensional arrays, and jagged arrays. Then, the generic data collections are discussed and explained. Various generic data types will be covered in this module such as List, Dictionary, SortedList, Stack, Queue, etc.
- Language Integrated Query (LINQ)
- The majority of the software systems involve some kind of database transactions including storing and retrieving the data from a data source. Often time, a software engineers needs to learn more than one way to query the data. The LINQ language solves this problem by standardizing the way to query the data from a data source and hence making software engineers focus on the business logic. This module will provide a comprehensive description of the LINQ language and how to use it to query data from a data source.
Taught by
Mahmoud M. Hammad