Training for your Group
In this Introduction to Programming training class, students use C# to learn the basics of computer programming through the use of Microsoft Visual Studio 2013 and both the Visual C# and Visual Basic programming languages. The course assumes no prior programming experience and introduces the concepts needed to progress to the intermediate courses on programming, such as 20483B: Programming in C#.
Course Length: 5 days
Audience: This course is intended for anyone who is new to software development and wants, or needs, to gain an understanding of programming fundamentals and object-oriented programming concepts.
Prerequisites: Experience in the following is required for this C# class: Ability to understand logical concepts such as comparisons. Understand number theory. Ability to create, understand, and follow structured directions or step-by-step procedures. Ability to understand and apply abstract concepts to concrete examples.
What You're Going To Learn
- Learn to explain core programming fundamentals such as computer storage and processing.
- Learn to explain computer number systems such as binary.
- Learn to create and use variables and constants in programs.
- Learn to explain how to create and use functions in a program.
- Learn to create and use decisions structures in a computer program.
- Learn to create and use repetition (loops) in a computer program.
- Learn to explain pseudocode and its role in programming.
- Learn to explain the basic computer data structures such as arrays, lists, stacks, and queues.
- Learn to implement object-oriented programming concepts.
- Learn to create and use classes in a computer program.
- Learn to implement encapsulation, inheritance, and polymorphism.
- Learn to describe the base class library (BCL) in the .NET Framework.
- Learn to explain the application security concepts.
- Learn to implement simple I/O in a computer program.
- Learn to identify application errors and explain how to debug an application and handle errors.
- Learn to identify the performance considerations for applications.
Introduction to Core Programming Concepts
- 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
Core Programming Language Concepts
- 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
- 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
Algorithms and Data Structures
- 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
Error Handling and Debugging
- 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 Visual Studio Debugger
Introduction to Object-Oriented Programming
- Introduction to Complex Structures
- Introduction to Structs
- Introduction to Classes
- Introducing Encapsulation
- Lab: Implementing Complex Data Structures
- Creating structs
- Creating Classes
More Object-Oriented Programming
- Introduction to Inheritance
- Introduction to Polymorphism
- Introduction to the .NET Framework and the Base Class Library
- Lab: Implementing Inheritance
- Creating a Base Class
- Inheriting a Base Class
- Lab: Implementing Polymorphism
- Implementing Polymorphism by Overriding a Function
- Implementing Polymorphism by Overloading
Introduction to Application Security
- Authentication and Authorization
- Code Permissions on Computers
- Introducing Code Signing
Core I/O Programming
- Using Console I/O
- Using File I/O
- Lab: Core I/O Programming
- Reading and Writing with the Console
- Reading and Writing Files
Application Performance and Memory Management
- Value Types vs Reference Types
- Converting Types
- The Garbage Collector
- Lab: Using Value Types and Reference Types
- Converting Types