55337AC Introduction to Programming

Course Description

In this, students will learn the basics of computer programming through the use of Microsoft Visual Studio 2022 and the Visual C# and Visual Basic programming languages. The course assumes no prior programming experience and introduces the concepts necessary to advance to the intermediate programming courses, C# Programming.

The focus will be on basic programming concepts such as computer storage, data types, decision structures, and repetition using loops. The course also covers an introduction to object-oriented programming covering classes, encapsulation, inheritance, and polymorphism. Also included is coverage of exception handling, application security, performance, and memory management.

Audience profile

This course is intended for anyone who is new to software development and wants, or needs, to gain an understanding of the fundamentals of programming and the concepts of object-oriented programming. Typically, they will be high school students, post-secondary school students, or career changers with no prior programming experience. They may want to understand the basic fundamentals of programming before moving on to more advanced courses, such as C# Programming.

Goals

  • Explain the basic fundamentals of programming, such as computer storage and processing.
  • Explain computer number systems such as binary.
  • Create and use variables and constants in programs.
  • Explain how to create and use functions in a program.
  • Create and use decision structures in a computer program.
  • Create and use repetitions (loops) in a computer program.
  • Explain pseudocode and its role in programming.
  • Explain basic computer data structures, such as arrays, lists, stacks, and queues.
  • Implement object-oriented programming concepts.
  • Create and use classes in a computer program.
  • Implement encapsulation, inheritance and polymorphism.
  • Describe the Base Class Library (BCL) in the .NET Framework.
  • Explain application security concepts.
  • Implement simple I/O in a computer program.
  • Identify application errors and explain how to debug an application and handle errors.
  • Identify performance considerations for applications.


Course outline

Module 1: Introduction to basic programming concepts

This module provides basic, basic information about how computers process information, looks at the different types of applications a programmer might be creating, and then provides information about how a computer compiles and interprets code.

Lessons

  • Storage and processing of computer data
  • Types of applications
  • Application life cycle
  • Code compilation

Lab 1: Think like a computer

  • Describe the concepts of computer data storage and processing.
  • Describe the types of applications
  • Describe the life cycle of an application.
  • Describe code compilation.
After completing this module, students will be able to:
  • Explain the basic fundamentals of programming, such as computer storage and processing.
  • Explain computer number systems such as binary.
  • Create and use variables and constants in programs.
  • Explain how to create and use functions in a program.
  • Create and use decision structures in a computer program.
  • Create and use repetitions (loops) in a computer program.

Module 2: Basic concepts of programming language

This module covers programming language syntax and the importance of using good syntax and following the syntax rules for your chosen language. This module also discusses basic data types and how to store these data types in computer memory by using variables and constants.

Lessons

  • Syntax
  • Type of data
  • Variables and constants

Lab 1: Working with data types

  • Define syntax
  • Explain the different types of basic data used in programs.
  • Declare and use variables and constants in a computer program
After completing this module, students will be able to:
  • Define syntax
  • Explain the different types of basic data used in programs.
  • Declare and use variables and constants in a computer program

Module 3: Program Flow

This module covers how code is executed in a computer program, such as top-down, structured programming, and branching in code execution. The module teaches these concepts using functions, decision structures, and loop constructs.

Lessons

  • Introduction to structured programming concepts
  • Introduction to branching
  • Using functions
  • Use of decision structures
  • Introduction to repetition

Lab 1: Creating Functions, Decisions, and Loops

  • Describe structured programming.
  • Create and use functions in your code
  • Create and use decision structures.
  • Create and use loop structures
After completing this module, students will be able to:
  • Describe structured programming.
  • Create and use functions in your code
  • Create and use decision structures.
  • Create and use loop structures

Module 4: Algorithms and Data Structures

This module introduces the concept of an algorithm by outlining all the necessary steps, including the decisions that must be made as the routine progresses. The module also discusses how to translate this set of steps into pseudocode to evaluate the algorithm that will be translated into real code.

Lessons

  • Understand how to write pseudocode
  • Examples of algorithms
  • Introduction to data structures

Lab 1: Working with algorithms and data structure

  • Transfer problem statements to pseudocode
  • Create algorithms
  • Translate pseudocode to programming code
  • Create simple algorithms in code
  • Create data structures to store data.
After completing this module, students will be able to:

Module 5: Error Handling and Debugging

This module helps students understand that errors are part of programming and they must understand how to anticipate errors, handle those errors in the code, and present a good user experience. This module introduces structured exception handling as a mechanism for dealing with errors.

Lessons

  • Introduction to program errors
  • Introduction to structured error handling
  • Introduction to debugging

Lab 1: Implementing Debugging and Error Handling

  • Implement structured exception handling
  • Debug applications with Visual Studio 2022
After completing this module, students will be able to:

Module 6: Introduction to Object-Oriented Programming

This module covers an introduction to the concepts related to object-oriented programming (OOP). The content has been divided into two modules; This module focuses on basic OOP concepts that will provide enough knowledge to understand complex data structures, starting with structures and then moving on to classes. This module helps students understand how to encapsulate data and related functionality within a class.

Lessons

  • Introduction to Complex Structures
  • Introduction to structures
  • Introduction to classes
  • Introduction to encapsulation

Lab 1: Implementation of complex data structures

  • Create and use structure types
  • Create and use basic class files
  • Choose when to use a struct vs. a class
After completing this module, students will be able to:
  • Create and use structure types
  • Create and use basic class files
  • Choose when to use a struct vs. a class

Module 7: More object-oriented programming

This module teaches students about inheritance and polymorphism in classes and function overloading. Function overloading and polymorphism often go hand in hand, such as when you inherit from a class or when you want to override or change existing behavior to suit the needs of your class.

The module also introduces the .NET base class library so that students can start thinking about whether functionality exists in other class files and how they can search the .NET libraries to find this functionality and take advantage of it.

Lessons

  • Introduction to inheritance
  • Introduction to polymorphism
  • Introduction to .NET and the base class library

Lab 1: Implementation of inheritance

  • Implementing inheritance

Lab 2: Polymorphism Implementation

  • Use inheritance in OOP
  • Implement polymorphism in your classes
  • Describe how the base class library is built.
  • Find class information using the Object Explorer
After completing this module, students will be able to:
  • Use inheritance in OOP
  • Implement polymorphism in your classes
  • Describe how the base class library is built.
  • Find class information using the Object Explorer

Module 8: Introduction to Application Security

This module helps students think about the security of their applications. It introduces the concepts of authentication and authorization for users, and also introduces the concept of permissions to execute code. Explains that operating systems can prevent certain aspects of the program from running, such as saving a file in a directory that the user running the application might not have permission to write to. The module briefly covers code signing and why programmers might want to consider using it.

Lessons

  • Authentication and authorization
  • Code permissions on computers
  • Introduction to code signing

Laboratory 1: Without laboratory

  • None
After completing this module, students will be able to:
  • None

Module 9: Central I/O Programming

This module introduces some basic input/output (I/O) concepts that programmers will use when 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 to the file system.

Lessons

  • Using console I/O
  • File I/O Usage

Lab 1: Central I/O Programming

  • Read input from a console
  • Data output to the console
  • Read and write text files.
After completing this module, students will be able to:
  • Read input from a console
  • Data output to the console
  • Read and write text files.

Module 10: Application Performance and Memory Management

This module allows students to understand that memory in a computer is a finite resource. It talks about how good application design and good coding discipline with memory management will help programmers learn to develop applications that are fast, responsive, and do not have a negative impact on other applications.

Lessons

  • Value Types vs. Reference Types
  • Conversion types
  • The garbage collector

Lab 1: Using Value Types and Reference Types

  • Implement value types and references correctly in an application
  • Convert between value types and reference types
  • Use the garbage collector
After completing this module, students will be able to:
  • Implement value types and references correctly in an application
  • Convert between value types and reference types
  • Use the garbage collector


Previous requirements

Before attending this course, students must have:

  • Ability to use computers to launch programs, open and save files, navigate menus and application interfaces
  • Ability to understand logical concepts such as comparisons.
  • Understand number theory.
  • Ability to create, understand, and follow structured instructions or step-by-step procedures
  • Ability to understand and apply abstract concepts to concrete examples.


Language

  • English course

  • Labs: English

€695.00
| /

Information related to training

Soporte siempre a tu lado

Training support: Always by your side

Formación presencial y telepresencial

Do you need another training modality?

bonificaciones

Bonuses for companies