Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Introduction to Programming - AulaGEO
Rating: 4.1 out of 5(3 ratings)
25 students

Introduction to Programming - AulaGEO

Learn programming fundamentals, flowcharts, and pseudocode from scratch
Last updated 8/2024
English

What you'll learn

  • Understand fundamental programming concepts, including algorithms and pseudocode.
  • Create and interpret flowcharts to visualize programming logic clearly.
  • Write well-structured pseudocode for algorithm design and problem solving.
  • Define and manipulate data types, variables, constants, and operators.
  • Implement selective structures like conditionals and decision-making processes.
  • Develop and debug repetitive structures including while, do-while, and for loops.
  • Work with one-dimensional and multidimensional arrays to manage data sets.
  • Apply programming fundamentals to solve practical algorithmic exercises effectively.

Course content

6 sections46 lectures3h 16m total length
  • Introduction2:06

    Welcome to the Introduction to Programming course, designed for absolute beginners who want to learn the fundamentals of programming from scratch. This lesson sets the stage for your learning journey by explaining the course scope and workflow.

    We will explore the basics of programming logic, understand key concepts, and learn how to create useful tools like flowcharts and pseudocode to represent algorithms clearly and effectively.

    You will be guided step-by-step by an experienced instructor with a background in systems engineering and information technology management, ready to support you throughout the course.

    Key topics covered in this lecture:

    • Course overview and objectives

    • Fundamental concepts of programming

    • Introduction to flowcharts and pseudocode

    • Course structure and main modules

    • Instructor introduction and support resources

    • Theoretical and practical approach explained

    Practical value for learners:

    • Understand the foundational concepts necessary for any programming language

    • Learn how to apply problem solving using programming logic

    • Gain skills in creating flowcharts and pseudocode for algorithm design

    • Know how to leverage instructor assistance and community forums effectively

    By the end of this lesson, you will have a clear understanding of the course objectives and structure, and be prepared to start developing programming skills with confidence and support.

  • About the Instructor1:18

    In this lecture, you will be introduced to your course instructor, Jael Galileas, who will guide you through the entire programming journey. Understanding the instructor’s background and expertise helps create a connection and sets the tone for the learning experience ahead.

    Jael shares her extensive academic qualifications, including a Master’s Degree in Information Technology Management, a Systems Engineering degree, and a Bachelor’s in Business Administration, along with various diplomas in application and web development. This diverse background supports a comprehensive teaching approach that benefits learners of all levels.

    You will also discover multiple ways to stay connected with the instructor through her website, YouTube channel, social media pages like Facebook, Instagram, and Twitter, where she shares additional content and updates.

    Key topics covered in this lecture:

    • Introduction to the instructor’s academic and professional credentials

    • Overview of the instructor’s teaching approach and engagement

    • Resources and platforms where the instructor shares content

    • Encouragement to engage and continue learning beyond the course

    Practical value in the programming learning journey:

    • Building trust and motivation by knowing your instructor

    • Accessing external resources to deepen programming knowledge

    • Receiving ongoing support and updates throughout your learning process

    • Fostering a mindset of decision-making for continuous improvement in programming skills

    By the end of this lecture, you will feel welcomed and motivated, knowing who will guide you and where to find additional resources and support. This foundational connection sets you up for success as you advance through the programming course.

  • What is Programming?1:37

    In this lesson, you will be introduced to the fundamental concept of programming, which involves designing, coding, debugging, and maintaining source code. Programming is essentially the act of writing computer programs to solve specific problems through a structured sequence of instructions.

    We explore how a computer program operates by outlining its primary structure: data input, processing, and output. Data input involves capturing information from external devices into the computer’s central memory, followed by processing that modifies the data, and finally output where the results are sent back to external devices.

    Additionally, this lesson explains the nature of programming languages—specialized languages designed to enable computers to perform tasks. It covers different classifications of programming languages, including distinctions based on their similarity to natural language (low-level vs. high-level languages), their structural approach (conventional line-by-line vs. structured languages), and their programming paradigms (functional vs. imperative languages).

    Key topics covered:

    • The definition and purpose of programming

    • The sequential structure of a computer program: input, process, and output

    • The role and function of programming languages

    • Classification of programming languages by language level

    • Classification by program structure: conventional and structured languages

    • Classification by paradigm: functional and imperative languages

    Practical value in programming:

    • Understanding how computer programs process data from input to output

    • Recognizing different programming language types and their applications

    • Building a foundation for writing and reading source code effectively

    • Gaining insights into language paradigms to choose suitable languages for specific tasks

    By the end of this lesson, you will understand the essential components of programming and the variety of programming languages, which will help you grasp how software solutions are constructed and maintained.

  • What is an Algorithm?1:53

    In this lecture, you will be introduced to the fundamental concept of algorithms. An algorithm consists of a set of clear, ordered steps, procedures, or actions designed to solve a problem or achieve a specific result.

    The lesson highlights that algorithms are part of our daily lives and routine activities, from the moment we wake up to completing daily tasks. Despite being implemented in different programming languages or run on various computers, the core algorithm remains unchanged.

    You will learn about the essential components that make up an algorithm: input data, process, and output data, along with the key characteristics that all algorithms must follow to be effective and reliable.

    Key topics covered in this lecture:

    • Definition of algorithms and their practical everyday examples

    • Independence of algorithms from programming languages and hardware

    • The elements of an algorithm: input, process, and output

    • Essential characteristics of algorithms: precision, definiteness, and finiteness

    • How algorithms ensure consistent results when followed multiple times

    • The importance of an algorithm’s completion (finiteness)

    • Representation of algorithms using pseudocode and flowcharts

    Practical value for programming and algorithmic learning:

    • Understand how to formulate clear and effective steps to solve problems

    • Recognize the universal nature of algorithms regardless of programming languages

    • Develop skills to design algorithms that are precise and finite

    • Learn visual and textual ways (flowcharts and pseudocode) to document and communicate algorithms

    By the end of this lesson, you will be able to understand what an algorithm is, identify its core components, and appreciate the properties that make an algorithm reliable and practical for problem-solving in programming and beyond.

  • What is a Pseudocode?1:52

    This lesson introduces the concept of pseudocode within the context of programming fundamentals. Building on the introduction to programming, it explains how pseudocode acts as a simplified, human-readable version of programming instructions that bridges the gap between natural language and actual programming languages.

    Pseudocode is described as a "false language" designed to represent algorithms clearly and closely resemble the programming language that will be used later for coding. The lesson details its core components and unique characteristics.

    Working with pseudocode helps learners understand how to outline program logic before writing real code, making the process of programming more accessible and structured.

    Key topics covered in this lecture:

    • The definition and purpose of pseudocode

    • Characteristics of pseudocode, including platform independence and ease of manipulation

    • The components of pseudocode: beginning, instructions (body), and end

    • How pseudocode facilitates the transition from algorithm design to programming language implementation

    • The flexibility of pseudocode to apply across multiple programming languages

    Practical value of knowing pseudocode in programming:

    • Helps learners design clear and detailed step-by-step solutions for algorithms

    • Makes translating logic into actual programming languages easier and more efficient

    • Enables programming independent of any specific language syntax

    • Supports learning and problem-solving processes in programming foundations

    By the end of this lesson, learners will understand what pseudocode is, its essential features, and how to structure it properly with a clear beginning, body of instructions, and an end. This solid foundation will prepare them to develop algorithms logically and translate them into any programming language effectively.

  • Downloading and Installing PseInt3:13

    In this lesson, you will learn how to download and install PSeInt, the tool we use to write and run pseudocode for programming practice in this course. Starting from searching for the software online, you will follow clear steps to obtain the latest version compatible with your operating system.

    The installation process is straightforward and designed for all skill levels, including setting the installation path and running the program for the first time. The lesson concludes with an introduction to the PSeInt interface, outlining its main menus, command buttons, and essential features that you will use later.

    This hands-on setup is crucial for your programming journey, as PSeInt will be your key environment for practicing algorithms and pseudocode throughout the course.

    Key topics covered in this lesson:

    • How to search and download PSeInt from the official source

    • Choosing the correct version based on your operating system (Windows, Linux, Mac) and architecture (32-bit or 64-bit)

    • Step-by-step installation process including license acceptance and installation path selection

    • Running the program for the first time and interface overview

    • Exploring the main menu options and command icons

    • Understanding the role of commands like write, read, assign, and control structures (if, then, while, repeat)

    • Introduction to variables panel, operators, and functions within PSeInt

    Practical value for learners:

    • Prepare your computer environment for programming practice using pseudocode

    • Gain familiarity with installing and launching software safely and correctly

    • Acquire basic navigation skills in the PSeInt interface to increase efficiency in algorithm development

    • Understand the foundational elements needed before writing programming logic

    By the end of this lesson, you will have successfully installed PSeInt and gained a practical understanding of its interface, empowering you to begin creating and testing pseudocode with confidence as you advance in programming.

  • Knowing the PSeInt Interface6:32

    In this lesson, you will explore the graphical interface of the PSeInt program, a fundamental tool for creating pseudocode and flowcharts. Starting from launching the program, you will learn how to navigate through its menus and icons to access the various features it offers.

    This lecture walks through the main components of the interface, including the menu bar, command section, variable list, and functions available at the bottom of the screen. You will also see how to create a new pseudocode file and understand the basic syntax and structure used within the program.

    Additionally, practical tips on running your pseudocode, using keyboard shortcuts, and writing commands such as comments, input/output (write and read), and the importance of semicolons will be covered to help you effectively work within PSeInt.

    Key topics covered:

    • Launching and opening the PSeInt program.

    • Overview of menu bar options (File, Edit, Configuration, Run, Help).

    • Quick Access icons and command section functionalities.

    • Working with variables and operators in the interface.

    • Creating new pseudocode files with the correct structure (algorithm, instructions, end algorithm).

    • How to add comments and write output on screen.

    • Executing and running pseudocode with various methods.

    Practical value in programming fundamentals:

    • Build confidence navigating a pseudocode programming environment.

    • Understand workflow for writing, editing, and running pseudocode scripts.

    • Learn essential shortcuts and interface elements to speed up coding.

    • Master basic commands to write clear pseudocode including comments and input/output.

    • Gain skill in verifying and testing algorithms interactively.

    By the end of this lesson, you will be familiar with the PSeInt interface and capable of creating, editing, and running basic pseudocode programs efficiently. This foundation will support your continued learning of programming concepts and algorithm design throughout the course.

  • Assigning Values to Variables2:56

    In this lecture, we explore how to assign values to variables in programming, focusing on different assignment operators supported by the PSEN program. The lesson begins by configuring language options to allow assigning values with the equal sign, an essential feature for straightforward variable assignment.

    We then declare integer variables and demonstrate three distinct ways to assign values using various operators, including the equal sign, a less-than combined with a minus, and a colon-equal operator. These examples highlight how syntax may vary among programming languages but remain valid within the PSEN environment.

    This lecture also emphasizes the importance of syntax details such as placing semicolons at the end of statements and explains how assigned values can be displayed or read using specific commands.

    Key topics covered in this lecture:

    • Configuring language settings for assignment operators

    • Declaring integer variables properly

    • Using different assignment operators: equal sign, less-than with minus, colon-equal

    • Understanding PSEN language syntax and its flexibility

    • Displaying and reading variable values with commands

    • Importance of semicolon usage

    Practical value for programming beginners:

    • Learn multiple ways to assign values to variables

    • Understand syntax variations and compatibility in pseudocode

    • Apply proper syntax rules to avoid common errors

    • Use commands effectively to display and read variables during program execution

    By the end of this lecture, you will confidently assign values to variables using different assignment operators within the PSEN program, setting a solid foundation for further learning about assignment operations in programming.

  • What is a Data Flow Diagram?2:23

    This lesson introduces the concept of Data Flow Diagrams within the context of programming fundamentals. Building upon previous discussions about algorithms and flowcharts, it focuses on understanding the graphical representation of processes that guide how problems are solved programmatically.

    You'll explore the standard symbols used in flowcharts to represent different operations and actions in an algorithm, learning how to visualize inputs, processes, decisions, and outputs in a structured and standardized way.

    The lesson also covers key rules that govern the creation of flowcharts to ensure clarity and consistency, such as having defined start and end points, using straight directional lines, and maintaining logical flow direction from top to bottom and left to right, independent of any programming language.

    Key topics covered in this lecture:

    • Definition and purpose of data flow diagrams (flowcharts).

    • Common flowchart symbols: start/end, input, process, decision types, connectors, and output.

    • How to represent conditions and multiple decisions using diamonds and selectors.

    • Rules for designing flowcharts including flow direction and line style.

    • Ensuring flowcharts are language-independent for broader applicability.

    Practical value in programming fundamentals:

    • Visualizing algorithms graphically helps in better understanding and communication of program logic.

    • Learning to create standardized flowcharts makes it easier to translate logical designs into programming code.

    • Following strict design rules improves flowchart clarity, aiding debugging and collaboration.

    • Using flowcharts facilitates problem-solving and algorithm development for any programming language.

    By the end of this lesson, learners will understand how to design effective flowcharts, apply standardized symbols correctly, and use these diagrams to represent algorithms clearly and independently from any specific programming language. This knowledge forms a foundational skill for programming and algorithm design.

  • Downloading DFD1:31

    In this lesson, you will learn how to download and install the software needed to create dataflow diagrams, an essential part of programming and systems analysis. The program introduced here is called DFD, which will help you visually represent processes and data flows in your projects.

    The instructor guides you step-by-step through the process, starting with copying and pasting the URL for downloading the software. You'll be shown how to locate the downloaded file, extract its contents, and set up convenient shortcuts for quick access.

    The lesson also explains how to run the program without installation, highlighting that it supports multiple languages including English, Spanish, and Portuguese. Finally, you'll explore the initial interface where you can start creating your own dataflow diagrams by naming your projects.

    Key topics covered in this lecture

    • Downloading the DFD software via provided URL

    • Locating and extracting the downloaded program files

    • Creating desktop shortcuts for easy access

    • Launching the program without prior installation

    • Exploring language options within the software

    • Understanding the program interface basics

    • Starting a new dataflow diagram project

    Practical value for programming and systems design

    • Enables learners to set up essential tools for visual programming

    • Facilitates understanding of dataflow diagram creation

    • Prepares learners to model algorithms and process flows graphically

    • Supports multilingual usage catering to diverse users

    By the end of this lesson, you will be able to download, install, and launch the DFD program confidently, setting the stage for creating and working with dataflow diagrams in your programming projects.

  • Knowing the DFD Program Interface8:02

    This lecture explores the interface of the DFD (Data Flow Diagram) program, a tool designed to create and manage flowcharts effectively. You will begin by learning how to open the program and familiarize yourself with its layout, including the title bar, menu bar, and toolbars.

    The lesson covers the main menus and their functionalities in detail, such as creating a new document, opening and saving files, editing objects, and using specific program features like debugging and execution controls. This provides a comprehensive overview to navigate and utilize the interface smoothly.

    Hands-on demonstrations show how to select, drag, and drop flowchart symbols within the workspace, including how to add, customize, and delete objects. You will also see how to execute a simple flowchart program, input data, and interpret execution messages.

    Key topics covered:

    • Overview of the DFD program interface and its main components

    • File and edit menu options for managing diagrams

    • Object selection and manipulation including flowchart symbols

    • Using execution and debugging tools to run flowcharts

    • Creating flowchart elements like start, read, and assignment blocks

    • How to add descriptions and properties to flowchart objects

    Practical value for programming learners:

    • Gain confidence in navigating software designed for flowchart creation

    • Learn to build, edit, and manage flowcharts graphically for algorithm design

    • Understand the workflow of programming logic through visual diagramming

    • Develop skills to execute and troubleshoot flowchart-based programs

    By the end of this lesson, you will understand how to use the DFD program interface efficiently to create and manage data flow diagrams, laying a solid foundation for visual programming and algorithmic thinking.

Requirements

  • No prior programming experience is required.
  • Access to a computer to practice with provided tools like PSeInt.
  • Willingness to learn programming logic through visual and pseudocode methods.

Description

Welcome to the Introduction to Programming course by AulaGEO, designed for absolute beginners eager to delve into the foundational concepts of programming. This course provides a clear and practical workflow for understanding how programming logic works and how it can be applied using visual tools such as flowcharts and pseudocode.

Starting from the basics, you will gain familiarity with essential programming concepts, including algorithms, data types, variables, constants, and operators. The course emphasizes hands-on learning through step-by-step guides to creating flowcharts and writing pseudocode, fostering your problem-solving skills and logical thinking.

Throughout the course, you'll be supported by an experienced instructor with expertise in systems engineering and information technology, who will walk you through practical examples and exercises using tools like PSeInt and DFD. These tools will help you visualize complex programming structures and processes, making learning interactive and accessible.

The course structure is carefully crafted to build your understanding progressively. You will explore selective and repetitive algorithmic structures, learn to work with arrays (arrangements), and apply what you learn by solving practical programming exercises. This approach ensures that you develop a sound conceptual framework that will enable you to understand and eventually master any programming language.

Whether you are a student starting your programming journey, a professional seeking to expand your skills, or simply someone interested in learning to code from the ground up, this course offers valuable knowledge and tools to advance your proficiency.

Throughout the learning process, you'll develop core competencies that include algorithmic thinking, flowchart and pseudocode design, and practical problem-solving using programming logic.

Learning Objectives

By the end of this course, you will be able to:

  • Understand basic programming and algorithm concepts

  • Create and interpret flowcharts effectively

  • Write clear and functional pseudocode

  • Define and manipulate variables, constants, and data types

  • Use arithmetic, relational, and logical operators confidently

  • Construct selective algorithmic structures such as conditionals and decision trees

  • Develop repetitive structures like loops including while, do-while, and for loops

  • Understand and apply arrays (one-dimensional and multidimensional)

  • Solve practical programming problems using learned concepts

Who Should Take This Course

  • Anyone wanting to learn programming from scratch

  • Students new to programming or computer science

  • Systems engineering students seeking foundational knowledge

  • Individuals aiming to improve logical thinking and problem-solving

  • Those interested in learning how to create flowcharts and pseudocode

  • Professionals expanding skills for software development or IT

Course Structure

Section 1: Introduction to Programming
Understand basic programming concepts, algorithms, pseudocode, and learn to use programming tools like PSeInt and DFD for flowcharts and pseudocode creation.

Section 2: Fundamentals of Programming
Learn about data types, variables, constants, and operators including arithmetic, relational, and logical operators essential for programming.

Section 3: Selective Algorithmic Structures
Explore selective structures such as simple, double, multiple, and cascade selections and practice constructing flowcharts and pseudocode for decision-making processes.

Section 4: Repeating Algorithmic Structures
Master repetitive structures including while, do while, and for loops, learning counters, accumulators, and practical coding with flowcharts and pseudocode exercises.

Section 5: Arrangements
Understand array types including one-dimensional, two-dimensional, and multidimensional arrays, with practical examples in PSeInt syntax.

Section 6: Solution to Proposed Exercises
Apply knowledge from previous sections by solving practical exercises focused on selective algorithmic structures.

Why Take This Course

This course offers a practical and thorough introduction to programming concepts through accessible visual methods like flowcharts and pseudocode, which can serve as a universal foundation before diving into specific programming languages. By focusing on logic and structure, you will gain transferable skills that enhance your ability to learn new languages and frameworks more easily.

Integrating theory with hands-on exercises provides a deeper understanding of programming mechanics, enabling you to solve real-world problems methodically. The use of tools such as PSeInt further supports interactive learning and fosters self-paced exploration.

Whether your goal is to start a career in software development, enhance your studies in systems engineering, or build problem-solving skills applicable across various disciplines, this course equips you with essential programming literacy.

Professional Context

Programming is a critical skill across many industries including software development, data analysis, engineering, and information technology. Foundational knowledge in programming logic, algorithmic thinking, and problem-solving paves the way for mastering any programming language and adapting to evolving technological demands. This course is a strong starting point for professionals and students seeking to build a resilient and versatile coding skill set.

Who this course is for:

  • Individuals wanting to start programming from scratch.
  • Students new to computer science or systems engineering.
  • Professionals seeking foundational programming skills for IT or software development.
  • Learners aiming to improve logical thinking and algorithm design.
  • Anyone interested in mastering flowcharts and pseudocode as programming tools.
  • Those preparing to learn specific programming languages in the future.
  • Self-learners who prefer practical and visual programming training.
  • Individuals looking to build a strong conceptual base in programming logic.