Git Product home page Git Product logo

y2s2-labcomputadores's Introduction

Laboratório de Computadores (LC) - Year 2, Semester 2 (Y2S2)

⚠️ Note regarding LCOM 23/24 edition ⚠️

Although I am no longer officially involved in this course unit, I will continue to collaborate to improve teaching by maintaining this repository, all explanations and code. Therefore, I ask that if you see any errors or find parts that are not well-explained, please contact me. Let's all collaborate for better education.


This repository contains all the exercises and assessments of the UC Laboratório de Computadores, taught by Pedro Ferreira Souto and Pedro Brandão at Integrated Master in Informatics and Computing Engineering [MIEIC] at the Faculty of Engineering of the University of Porto [FEUP].

Final Grade: 19/20

FEUP Logo

LCOM Documentation. Website Version

I was LCOM monitor in the year 2022/2023 of the classes 2LEIC06 and 2LEIC10 with Professor Nuno Cardoso. Initially, I started to build this repository to be able to explain the subject in a simple but complete way during the practical classes, making them dynamic, fun, and attractive. But in a short time, I ended up extending the notes to the entire subject of the curricular unit.

Thus, except for the serial port module, this documentation covers all devices given in lectures, exercises, and notes also for the final project. It doesn't hurt to help students understand the subject better. It was a pleasure together with Professor Nuno to be able to captivate the students and in the end, when we received all the positive feedback, we realized that we made the right choices.

All schematics, illustrations, texts, code snippets, and resolutions are my own. Any doubts or questions can contact me through my email, [email protected]. I would be very happy to help.

1. Labs

In recommendations, you can find the ideal structure of the labs to be developed in practical classes, as well as some notes on the best way to program in LCOM. In Lab0 you can find relevant aspects of Language C in the context of this Curricular Unit. Handling arguments, masks, macros, and shifts is a big step toward success here.

Each lab activity is accompanied by a detailed explanation of the theory as well as the implementation of the corresponding device, with commented and documented code. I didn't hide any details, I gave importance to the really important parts, topics referring to the main problems/faults and their solutions. Likewise, the explanation is sequential, without jumps, so that knowledge is more easily obtained. All the tricks to success can be found here:

2. Interactive Frame Buffer

Resource for Lab 5, Video Card. Sometimes the calculations and offsets may not be very clear. In 2023, I created an Excel sheet that helps visualize them. It's available here.

Interactive Frame Buffer

Since the shared sheet is read-only, feel free to inspect all formulas, copy and paste them to a sheet where it can be edited. Learning by doing, rather than just in theory, is much better.

3. Template

A simple template for the final LCOM project. Brings together relevant aspects for the final LCOM project, such as tips, algorithms, guidelines on code structure, and possible optimizations, among others.

Seeing things working in practice is much better than in theory, and this Template was useful for the student's first interaction with the learned devices, as well as for understanding the importance of Minix optimizations. Feel free to clone, run, modify and change what you find relevant.

Gertic-- (Grade: 18.9 / 20)

Gertic Initial Page

Final project carried out in the year 2021/2022 at the time I was on the course as a student. Gertic-- is inspired by the well-known game Gartic and implemented to contain all devices taught in LCOM.

Gertic Drawing

Members:

  • Fábio Sá, up202007658
  • Inês Gaspar, up202007210
  • Lourenço Gonçalves, up202004816
  • Marcos Pinto, up201800177

@ Fábio Araújo de Sá
2021/2022/2023

y2s2-labcomputadores's People

Contributors

fabio-a-sa avatar tomas-sucena avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.