We may earn an affiliate commission when you visit our partners.
Course image
Aspen Olmsted

Welcome to Introduction to Programming: Visual Basic. In the course sequence you will learn to write programs that utilize both procedural and object oriented techniques to solve business problems. In the first course in the sequence we will provide you with a solid foundation in the computer science topics that are important to understand when programming Visual Basic. In courses two through four, we will role up our sleeves and start coding in Visual Basic. In these courses you need to have access to a computer that is running Windows, macOS or Linux with the .NET 5 installed. We will show you how to install .NET 5.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Specialization: Introduction to Computer Programming Visual Basic
Welcome to Foundations of Computer Science, the first course of the Key Technologies of Visual Basic Programming specialization. By enrolling in this course, you are taking the first step to kick start your career in computer programming.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Develops strong foundational knowledge for Visual Basic programming
Provides a comprehensive introduction to computer science fundamentals
Introduces essential computer hardware and organization concepts
Covers key networking, cloud computing, and information security topics
Provides a solid foundation for systems software, databases, and automation
Taught by experienced industry experts with a proven track record

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Solid computer science fundamentals for beginners

According to students, this course offers a solid and comprehensive introduction to computer science fundamentals, making complex topics like algorithms and binary systems accessible for absolute beginners. Learners appreciate the clear and engaging instructor, who effectively breaks down concepts. While it serves as a foundation for Visual Basic programming, some students noted a lack of practical coding examples and found it too superficial for those with prior experience. Despite this, it's largely seen as a well-structured and valuable first step for aspiring programmers or those seeking a broad CS overview.
Foundational, but direct VB connection is limited in this course.
"The Visual Basic connection is mentioned, but the course itself is very abstract... The connection to Visual Basic was minimal in this foundational course."
"While it's foundations for Visual Basic, the core CS principles are universal. I appreciate how it sets the stage for the upcoming coding courses."
"I was hoping for more specific insights relevant to the VB ecosystem from the start of the specialization."
Covers a wide range of essential CS topics.
"A very comprehensive introduction to foundational computer science topics. It covers a wide array of subjects from algorithms to cloud computing."
"The modules on hardware and networks were particularly insightful. The information security section was also timely."
"I gained a much clearer understanding of how computers work, from hardware to networks."
Breaks down complex CS concepts effectively.
"As someone completely new to programming, this course was an absolute lifesaver. It laid out complex concepts like algorithms and binary systems in a way that was easy to digest."
"Excellent primer on CS fundamentals! The instructor explains everything clearly and at a manageable pace."
"Perfect for beginners! I always struggled with CS concepts, but this course breaks them down brilliantly."
Could use more hands-on coding or practical examples.
"My only feedback is that for a 'foundations' course, it could have included a tiny bit more practical application or small coding examples, even if the main VB coding is in later courses."
"I would have preferred more hands-on activities to solidify the theoretical concepts presented in the course."
"I felt the course could benefit from practical exercises or coding demos, even basic ones, to make the learning more tangible for programmers."
May be too slow or superficial for experienced learners.
"I came into this course with some prior programming experience in Python... it often felt quite superficial. Good for absolute beginners, but more experienced learners might find it too basic."
"The content is okay, but I felt it was a bit too slow for me, especially the early modules. It's clearly aimed at absolute beginners..."
"I found it too basic and lacking challenging exercises, which wasn't ideal for someone with prior programming exposure."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Foundations of Computer Science with these activities:
Read 'Computer Science Illuminated'
This classic textbook will provide a broad overview of computer science fundamentals to prepare you for the more technical topics covered in this course.
Show steps
  • Read the assigned chapters.
  • Complete the end-of-chapter exercises.
Solve Algorithm Efficiency Problems
Understanding algorithm efficiency is the cornerstone of performance optimization in computer science.
Browse courses on Algorithm Efficiency
Show steps
  • Find a tutorial on algorithm efficiency.
  • Follow the tutorial and complete the exercises.
  • Apply the concepts to real-world scenarios.
Work through Binary Number Systems
Mastering binary number systems is essential for understanding the low-level operations of computers.
Browse courses on Number Systems
Show steps
  • Review the concept of binary numbers.
  • Convert decimal numbers to binary numbers.
  • Convert binary numbers to decimal numbers.
  • Perform basic arithmetic operations (addition, subtraction) on binary numbers.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Boolean Logic Simplification
Boolean logic is a foundation in computer science. Practicing simplification will enhance your problem-solving skills.
Browse courses on Boolean Logic
Show steps
  • Review the basics of Boolean logic.
  • Use truth tables to simplify Boolean expressions.
  • Apply Boolean algebra laws to simplify expressions.
Write a Summary of Computer Hardware Components
Creating a written summary of computer hardware components will help you grasp their functionality and interconnections.
Browse courses on Computer Hardware
Show steps
  • Identify the key components of a computer system.
  • Research each component's purpose and functionality.
  • Organize and write a summary that explains how the components work together.
Watch a Tutorial on Cloud Computing Security
Cloud computing security practices are essential for protecting data and systems in the cloud.
Browse courses on Cloud Computing
Show steps
  • Find a tutorial on cloud computing security.
  • Watch the tutorial and take notes.
  • Apply the concepts to a real-world cloud computing scenario.
Develop a Data Flow Diagram for a Business Process
Creating a data flow diagram will help you visualize and understand the flow of data within a business process.
Browse courses on Data Flow Diagrams
Show steps
  • Identify the boundaries of the business process.
  • Identify and analyze the data inputs and outputs.
  • Draw a data flow diagram using appropriate symbols.

Career center

Learners who complete Foundations of Computer Science will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer designs, develops, and maintains software solutions to meet the needs of organizations and individuals. This course provides a solid foundation in computer science topics that are essential for Software Developers, such as algorithms, computer hardware and organization, computer networks, and databases. By taking this course, you will gain a comprehensive understanding of the principles and practices of software development, which will help you succeed in this role.
Computer Programmer
A Computer Programmer writes and tests code to create software applications and systems. This course provides a strong foundation in the fundamentals of computer science, which is essential for Computer Programmers. By taking this course, you will learn about algorithms, data structures, computer architecture, and operating systems, which will help you develop the skills needed to succeed in this role.
Web Developer
A Web Developer designs and develops websites and web applications. This course provides a solid foundation in computer science principles, which are essential for Web Developers. By taking this course, you will gain a deep understanding of algorithms, data structures, computer networks, and databases, which will enable you to build robust and reliable web applications.
Database Administrator
A Database Administrator designs, implements, and maintains databases to store and manage data for organizations. This course provides a strong foundation in database systems, which are essential for Database Administrators. By taking this course, you will learn about data modeling, database design, and database administration, which will help you succeed in this role.
IT Consultant
An IT Consultant provides advice and guidance to organizations on how to use technology to meet their business needs. This course provides a broad overview of computer science and information technology, which are essential for IT Consultants. By taking this course, you will gain a deep understanding of the principles and practices of IT, which will enable you to provide valuable insights to organizations.
Computer Systems Analyst
A Computer Systems Analyst designs, implements, and maintains computer systems to meet the needs of organizations. This course provides a solid foundation in computer science and systems analysis, which are essential for Computer Systems Analysts. By taking this course, you will learn about systems analysis, systems design, and systems implementation, which will help you succeed in this role.
Information Security Analyst
An Information Security Analyst protects an organization's computer systems and data from unauthorized access, use, disclosure, disruption, modification, or destruction. This course provides a strong foundation in information security, which is essential for Information Security Analysts. By taking this course, you will learn about security principles, security technologies, and security management, which will help you succeed in this role.
Network Administrator
A Network Administrator designs, implements, and maintains computer networks to meet the needs of organizations. This course provides a solid foundation in computer networks, which are essential for Network Administrators. By taking this course, you will learn about network design, network implementation, and network management, which will help you succeed in this role.
Data Scientist
A Data Scientist analyzes data to extract insights and knowledge that can be used to solve business problems. This course provides a foundation in data analysis and machine learning, which are essential for Data Scientists. By taking this course, you will learn about data analysis techniques, machine learning algorithms, and data visualization, which will help you succeed in this role.
Machine Learning Engineer
A Machine Learning Engineer designs, develops, and deploys machine learning models to solve business problems. This course provides a foundation in machine learning, which is essential for Machine Learning Engineers. By taking this course, you will learn about machine learning algorithms, machine learning models, and machine learning deployment, which will help you succeed in this role.
Software Architect
A Software Architect designs and develops the overall architecture of software systems. This course provides a foundation in software design, which is essential for Software Architects. By taking this course, you will learn about software design principles, software design patterns, and software design methodologies, which will help you succeed in this role.
Computer Hardware Engineer
A Computer Hardware Engineer designs, develops, and maintains computer hardware. This course provides a foundation in computer hardware, which is essential for Computer Hardware Engineers. By taking this course, you will learn about computer hardware components, computer hardware design, and computer hardware maintenance, which will help you succeed in this role.
Computer Network Architect
A Computer Network Architect designs, develops, and maintains computer networks. This course provides a foundation in computer networks, which is essential for Computer Network Architects. By taking this course, you will learn about network design, network implementation, and network management, which will help you succeed in this role.
Cloud Architect
A Cloud Architect designs, develops, and manages cloud computing solutions. This course provides a foundation in cloud computing, which is essential for Cloud Architects. By taking this course, you will learn about cloud computing concepts, cloud computing services, and cloud computing architectures, which will help you succeed in this role.
Data Engineer
A Data Engineer designs, develops, and manages data pipelines to move data between different systems. This course provides a foundation in data engineering, which is essential for Data Engineers. By taking this course, you will learn about data engineering concepts, data engineering tools, and data engineering best practices, which will help you succeed in this role.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Foundations of Computer Science.
Provides a strong foundation in data structures and algorithms, essential for understanding the implementation details of computer science concepts.
Covers the fundamental principles of computer architecture, providing a comprehensive overview of hardware and its interaction with software.
Provides a rigorous treatment of algorithms, covering topics such as sorting, searching, and graph algorithms, supplementing the course's introduction to algorithms.
Covers the fundamentals of computer organization and design, providing a deeper understanding of the hardware-software interface, complementing the course's module on computer hardware.
Introduces the concepts of computer networks, including network protocols, routing, and network security, complementing the course's coverage of computer networks.
Provides a comprehensive overview of database systems, covering topics such as data modeling, query processing, and transaction management, expanding on the course's introduction to databases.
Provides a comprehensive overview of operating systems, covering topics such as process management, memory management, and file systems, expanding on the course's discussion of systems software.
Covers the principles and techniques of compiler implementation, providing insights into the process of translating high-level code into machine code.
Provides a concise and accessible overview of the fundamental concepts of computer science, offering a high-level understanding of the field.
Provides a catalog of reusable design patterns for object-oriented software development, enhancing the course's coverage of object-oriented programming.
Provides guidelines and best practices for writing clean and maintainable code, complementing the course's emphasis on software quality.
Offers insights into the challenges and complexities of software development, providing valuable lessons for managing software projects.
Examines the contrasting development models of proprietary and open-source software, offering insights into the dynamics of software ecosystems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser