Article • 29 September 2026

What You Learn in Your First Year of Computer Science

By : Zulvita

What You Learn in Your First Year of Computer Science

First-year Computer Science students generally study programming fundamentals, discrete mathematics, algorithms, data structures, computer systems, databases, and project development. The first year is about building a foundation for understanding how computers work, how software is developed, and how to solve problems logically, rather than immediately mastering complex technologies.

The good news is that students do not need to know how to code before starting university. Many Computer Science programs are designed to teach students from the basics, beginning with programming logic and algorithm concepts.

Programming Fundamentals Build the Core Foundation

One of the most common first-year subjects is Programming Fundamentals.

At this stage, students learn how to give computers instructions using a programming language. The focus goes beyond memorizing syntax: students learn to organize instructions logically and systematically so that a computer can execute them.

The language used varies by university. Common introductory languages include Python, C, C++, and Java.

Programming Concepts Students Begin to Learn

Basic concepts include:

  • Variables and data types for storing and managing data.
  • Conditional statements such as if and else.
  • Loops such as for and while.
  • Functions for dividing programs into more structured parts.
  • Input and output for receiving and displaying data.

Exercises are usually simple at first. Students may be asked to build a calculator, calculate an average, or determine whether a number is even or odd.

These exercises help students understand that more complex applications are built from interconnected sets of simple instructions.

Discrete Mathematics Develops Computational Logic

Computer Science is closely connected to mathematics, particularly discrete mathematics.

Unlike much of the mathematics taught at school, discrete mathematics focuses on distinct objects, relationships between objects, and ways to prove statements logically.

Topics may include:

  • Propositional logic and truth tables.
  • Set theory.
  • Relations and functions.
  • Combinatorics and counting principles.
  • Basic graph theory.

These topics are more than theory. When building programs, students must determine how a computer makes decisions based on particular conditions. Understanding logic helps them define those conditions more accurately.

Discrete mathematics also provides a foundation for algorithms, data structures, computer security, and other advanced areas of Computer Science.

Algorithms Teach Students How to Solve Problems

Learning to code involves more than writing code. Students also need to learn how to find the right steps to solve a problem.

During the first year, students are usually introduced to algorithms: systematic sequences of steps for solving problems. Before writing code, they need to understand the problem, identify the inputs and outputs, and plan the solution.

For example, when asked to find the largest value in a set of numbers, students must decide how to compare each number before translating the process into code.

From Pseudocode to Algorithm Efficiency

Introductory topics include:

  • Pseudocode.
  • Flowcharts.
  • Basic searching and sorting.
  • Basic analysis of algorithm efficiency.

Students also learn that a problem can have several solutions, but those solutions may differ in efficiency and complexity.

These problem-solving skills are useful in programming, software development, data analysis, and other technology-related work.

Data Structures Help Organize Information

After beginning to understand programming and algorithms, students may be introduced to data structures.

Data structures organize data so that information can be stored and processed according to a program's needs. Depending on the university's curriculum, this subject may be introduced early or toward the end of the first year.

Common introductory data structures include:

  • Arrays for storing collections of elements in a particular order.
  • Strings for working with text data.
  • Lists for storing and managing collections of elements.
  • Stacks, which follow the Last In, First Out (LIFO) principle.
  • Queues, which follow the First In, First Out (FIFO) principle.

A to-do list application offers a simple example. It needs a way to store tasks, add new ones, and remove completed tasks.

Understanding data structures helps students choose ways to store and manage information that suit an application's requirements.

Computer Systems Explain How Programs Run

Computer Science covers more than software. Students also need to understand the hardware and systems that allow programs to run.

In an introduction to computer systems, students may learn how different computer components work together to execute instructions.

Topics may include:

  • The CPU and how processors execute instructions.
  • Memory and the difference between RAM and permanent storage.
  • Binary number systems and data representation.
  • Basic computer architecture.
  • An introduction to operating systems and the relationship between software and hardware.

Students may also learn how computers represent numbers in binary and how program instructions are translated into operations a processor can execute.

This understanding helps students look beyond everyday applications and begin to understand the systems behind them.

Databases Introduce Data Management

Data is an important part of many modern applications, so Computer Science students may also begin learning about databases.

The timing varies. Some universities introduce databases in the first year, while others teach them after students have mastered programming fundamentals.

Introductory topics may include:

  • Database and table concepts.
  • Rows and columns.
  • Relationships between data.
  • An introduction to SQL.
  • Basic operations such as SELECT, INSERT, UPDATE, and DELETE.

For practice, students may create a simple database to store student information, product lists, or book loan records.

Projects Help Students Apply What They Learn

Learning Computer Science goes beyond theory and practical exercises. Students may also complete individual or group projects to apply the material they have studied.

Examples of beginner projects include:

  • A simple calculator application.
  • A personal finance management program.
  • A portfolio website.
  • An application for tracking tasks or class schedules.

In group projects, students also begin learning about task allocation, technical communication, debugging, and using Git to manage code changes. These experiences help develop the working habits needed for software development.

However, students do not necessarily complete all of these projects in their first semester. Project types and difficulty levels depend on each university's curriculum.

Do Students Need Prior Coding Experience?

No. Many Computer Science programs accept students with no previous programming experience. Foundational material is usually introduced gradually to help students follow the learning process.

However, some prior knowledge of coding can make the transition easier, particularly when students begin practical sessions and programming projects.

Useful preparation before university includes:

  • Learning basic Python or another beginner-friendly programming language.
  • Practicing logical problem-solving.
  • Getting comfortable reading simple code.
  • Building small projects.
  • Practicing how to find errors through debugging.

There is no need to rush into learning many languages at once. Understanding one language well and mastering its basic concepts can be a more useful starting point.

Frequently Asked Questions

Is Computer Science the Same as Informatics Engineering?

The two share many topics in programming, algorithms, and computer systems. However, the scope and emphasis of their curricula vary by university and country. Computer Science generally emphasizes theoretical and computational foundations, while Informatics Engineering programs in Indonesia may focus on software engineering, information systems, or applied technology.

Which Programming Language Is Taught First?

It depends on the university. Python is often used because its syntax is relatively readable, while C, C++, and Java are also used to teach programming concepts. Regardless of the language, variables, loops, functions, and conditional statements remain essential foundations.

Do Students Learn AI in the First Year?

Not always. Most programs prioritize foundations such as programming, algorithms, mathematics, and computer systems before exploring AI in greater depth. Students can still encounter AI through simple projects or independent learning, but algorithms and mathematics provide a foundation for more serious study.

Start Building Your Computer Science Foundation Now

The first year of Computer Science focuses on building foundations. Programming, logic, algorithms, data structures, and an understanding of how computers work prepare students to study more advanced technologies.

If you want to prepare before entering Computer Science, you can learn coding fundamentals, programming logic, and problem-solving with us at Koding Akademi.

Learn more at Koding Akademi and find learning materials that match your needs.

Share this post

RELATED COURSES

Explore Our Courses

START TOGETHER

The Best Investment for Your Child's Future

Sign up now for a trial class or consult with our educational advisory team.

Logo Koding Akademi

Koding Akademi

Online

Today