AGH Computer Science - repositories

During my studies, I created many repositories with various interesting topics and assignments. I would like them to be available here so that the effort invested can be seen.

Term 1:

“Introduction to Computer Science”

The subject involved familiarizing with the basics of algorithmics. It covered topics such as loops, arrays including multi-dimensional ones, as well as recursion and linked lists.

Source: AGH/IntroductionToComputerScience

Term 2:

“Data algorithms and structures”

“Data algorithms and structures” built upon the fundamentals learned in the course “Introduction to Computer Science”. Topics covered included sorting, dynamic programming, and graphs. This subject was challenging yet very enriching.

Source: AGH/DataAlgorithmsAndStructures

“Imperative Programming”

Imperative Programming focused on learning the basics of the C language. It covered data structures, pointers, and file operations.

Source: AGH/ImperativeProgramming

Term 3:

“Probability and statistics”

The subject covered topics related to statistics and probability. As part of coding assignments, a program in the R language was to be implemented.

Source: AGH/ProbabilityAndStatistics

“Differential and Difference Equations”

The subject focused on differential and difference equations. As a project, we had to write a program performing calculations and drawing graphs. In my case, the task involved a heat transport equation.

Source: AGH/DifferentialAndDifferenceEquations

“Introduction to Databases”

Introduction to databases focused on introducing us to the SQL language. Additionally, apart from database queries, we had to complete a project where we modeled the entire database. The repository is a fork since the subject was carried out in groups.

Source: AGH/IntroductionToDatabases

“Object Oriented Programming”

The subject focused on learning the Java language. Additionally, we began to explore design patterns. During the labs, we developed applications, and later, we worked on a large project.

Source: AGH/ObjectOrientedProgramming

“Functional programming”

The subject concentrated on learning elements of the Haskell language. During the labs, we learned typical elements for functional programming, e.g., monads.

Source: AGH/FunctionalProgramming

Term 4:

“Computation Methods for Science and Technology”

The aim of the subject was to introduce basic numerical algorithms, their numerical properties (conditioning, correctness, stability) in connection with the characteristics of computer arithmetic.

Source: AGH/ComputationMethods ForScienceAndTechnology

“Operating Systems”

The subject focused on acquainting with the principles of operating systems’ functioning and methods of their construction. Laboratories involved completing sets written in the C language.

Source: AGH/OperatingSystems

“Programming in Java Script”

The subject focused on introducing JavaScript, HTML, TypeScript, etc. During the classes, we developed a project intended to be a bank’s website.

Source: AGH/ProgrammingInJavaScript

“C++ programming”

The subject aimed to acquaint with object-oriented tools in the C++ language and the standard C++ library. Additionally, we learned about language dynamics and changes introduced in subsequent standards (C++11, C++17, C++20).

Source: AGH/CppProgramming

“Object-oriented design”

The subject focused on introducing commonly used object-oriented programming patterns. Laboratories involved solving and improving ready-made codes.

Source: AGH/Object-orientedDesign

“Database”

Database focused on introducing the technology of developing database applications and presenting us with various possible databases, e.g., MongoDB, Entity Framework, etc.

Source: AGH/Database

Term 5:

“Fundamentals of artificial intelligence”

The subject focused on acquainting us with the basics of artificial intelligence. During the classes, we filled in Jupyter notebooks and created, for example, AI in chess or recommendation systems.

Source: AGH/FundamentalsOfArtificialIntelligence

“Computer Networks”

During computer networks, we became familiar with layers 1-4, ending with TCP/UDP. As part of the classes, the task was to create a network model in Cisco.

Source: AGH/ComputerNetworks

“Theory of Concurrency”

The subject focused on introducing us to concurrent programming. We learned about Petri nets and directed graphs. During the labs, there were three homework assignments to complete, which expanded our knowledge.

Source: AGH/ComputationAndComplexityTheory

“Microprocessor Techniques”

During the subject, we learned to program various boards and devices. We worked with Arduino, Raspberry Pi, etc.

Source: AGH/MicroprocessorTechniques

“Computer graphics”

During computer graphics, we learned to model various things. As part of the course, we had to create a frog in the Maya program.

Source: AGH/ComputerGraphics

"”Object-Oriented Technologies”

During this course, we developed skills acquired in previous classes. Additionally, we learned about dependency injection, persistence patterns, utilizing the Spring framework, JavaFX, and JavaRX.

Source: AGH/ObjectOrientedTechnologies

Term 6:

“Distributed systems”

During this course, we learned about distributed systems. We got to know technologies such as TCP/UDP, RestApi, Zookeeper, and similar ones.

Source: AGH/DistributedSystems

“Code optimization for various architectures”

This subject served to familiarize us with methods of code optimization.

Source: AGH/CodeOptimizationForVariousArchitectures