The Introduction to Programming & Coding | OO Programming Basics course will introduce students to the basics of programming object-oriented (OO) applications, through efficient coding practices. As a part of this practical training program, students will also learn about the most efficient practices for developing object-oriented programs and applications.
Further, the course will focus on teaching students key programming concepts such as computer storage, data types, decision structures, and repetition by using loops. The learners will be acquainted with the entire spectrum of tools for developing reusable applications. During the program, students will be led through various object-oriented programming concepts including classes, encapsulation, inheritance, and polymorphism. In addition, the learners will also gain a practical exposure to tools such as exception handling, application security, performance, and memory management.
This module provides background and foundational information on how computers process information, the different types of applications that a programmer might be creating, and on how code is compiled and interpreted by a computer.
• Computer data storage and processing
• Application types
• Application life-cycle
• Code compilation
• Lab: “Thinking Like a Computer”
• Creating step-by-step directions for a morning routine
This module covers programming language syntax and the importance of using good syntax and following the syntax rules for the chosen language. This module also discusses the core data types and how to store these data types in computer memory by using variables and constants.
• Data Types
• Variables and Constants
• Lab: Working with Data Types
• Selecting Data Types
• Declaring and using variables for numeric types
• Declaring and using variables for textual data types
• Working with Boolean variables
• Declaring and using Constants
This module covers how code is executed in a computer program, such as top to bottom, in structured programming and branching in code execution. The module teaches these concepts through the use of functions, decision structures, and looping constructs.
• Introduction to Structured programming concepts
• Introduction to Branching
• Using Functions
• Using Decision Structures
• Introducing Repetition
• Lab: Creating Functions, Decisions, and Looping
• Implementing Functions
• Implementing Decisions in Code
• Implementing Repetition Structures
This module introduces the concept of an algorithm by examining a daily routine such as a morning routine for getting up and going to work, outlining all the steps required, including the decisions to be made as the routine progresses. The module also discusses how to translate these set of steps into pseudo code for evaluation of the algorithm that will be translated into actual code.
• Understand how to write pseudo code
• Algorithm examples
• Introduction to Data structures
• Lab: “Working with Algorithms and Data Structures”
• Working with pseudo code
• Creating Data Structures
This module helps students understand that errors are a part of programming and how to anticipate errors, handle the errors in code, and present a good user experience with a program. It introduces structured exception handling as the mechanism for dealing with errors.
• Introduction to Program Errors
• Introduction to Structured Error Handling
• Introduction to Debugging in Visual Studio
• Lab: Implementing Debugging and Error Handling
• Create Structured Exception Handlers
• Using the Debugger
This module covers an introduction to the concepts related to object-oriented programming (OOP). The content has been split across two modules. This module focuses on basic OOP concepts for understanding complex data structures starting with structs and then moving onto classes. This module helps the students gain an understanding of how to encapsulate data and related functionality within a class.
• Introduction to Complex Structures
• Introduction to Structs
• Introduction to Classes
• Introducing Encapsulation
• Lab: Implementing Complex Data Structures
• Creating Structs
• Creating Classes
This module teaches students about inheritance and polymorphism in classes and function overloading. Function overloading and polymorphism can go hand-in-hand as often when one inherits from a class, one could want to override or change the existing behavior to suit the needs of the class.
• Introduction to Inheritance
• Introduction to Polymorphism
• Lab: Implementing Inheritance
• Creating a Base Class
• Inheriting a Base Class
• Lab: Implementing Polymorphism
• Implementing Polymorphism by Overriding a Function
• Implementing Polymorphism by Overloading
This module helps students think about security in their applications. This module introduces the concepts of authentication for users and also introduces the concept of permissions for the code that is running on a computer. It explains that operating systems might prevent certain aspects of the program from executing, such as saving a file to a directory to which the user running the app might not have permission to write. The module briefly covers code signing and why programmers might want to consider using code signing.
• Authentication and Authorization
• Code Permissions on Computers
• Introducing Code Signing
This module introduces some core input/output (I/O) concepts that programmers will use while creating applications. Starting with console I/O, this module introduces input and output to the Console window.
The module also talks about reading and writing files, which is an important concept to know because applications work with the files on the disk systems on computers.
• Using Console I/O
• Using File I/O
• Lab: Core I/O Programming
• Reading and Writing with the Console
• Reading and Writing Files
This module enables students understand that memory on a computer is a finite resource. It talks about how good application design and good coding discipline with memory conservation and memory management will help programmers learn to develop applications that users will like. This is because these applications will be fast, responsive, and do not negatively impact other applications.
• Value Types vs Reference Types
• Converting Types
• The Garbage Collector
• Lab: Using Value Types and Reference Types
• Converting Types
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All levels
- Language English
- Students 55221
- Assessments Yes