Skip to content

⚙️ I share the assignments, exams and notes done for the subject Computer Systems Programming in the winter of 2022

Notifications You must be signed in to change notification settings

p4ulor/C-language-and-Assembly

Repository files navigation

Contents:

  1. Problem/exercice solving, quick programs, notes, assignments done in college, etc.
  2. Some explanations of some topics, since most stuff is already out there on the internet. I will also not explain or go too much into detail on little concepts that are pretty uniform between languages, like if's else's, order or priority of math operations, incrementations, decrementations, etc
  3. This repo still has a lot tasks to complete (but I will very likely leave it as it is)

Don't take my statements for granted. I might be wrong, if so, please correct me. I had a hard time learning this curricular subject in college. I understand it's importance, but currently I prefer to learn other things

About the C language

  • Middle-High level language. Since you have more control over memory allocation and you can join high-level code with low-level code to compile
  • Simple, efficient and has a wide range of applications
  • You can handle/edit memory addresses (through pointers) more easily
  • It can work along with Assembly language (it allows manipulations of internal processor registers per example)
  • C is not portable because it compiles to a specific hardware architecture once it has been compiled. Unlike Java, since it uses the JVM to handle how the binary output is ran for the current computer
  • Created in 1972
  • It's an important language to know, since it's very popular and has influenced the design of other languages
  • It's mostly a procedural language(unlike its successor: C++, which makes it easier to apply object oriented designs)
  • It's a language that is compiled into Assembly

Resources

Gravações aulas com prof Ezequiel

Books

  • The C Programming Language, 2nd Edition by Brian W Kernighan and Dennis Ritchie
  • Randal E. Bryant, David R. O’Hallaron - Computer Systems. A Programmer’s Perspective [3rd ed.] (2016, Pearson) (also contains other advanced and detailed topics)

Good paid courses

What to use to compile & run programs in C in Windows

  1. At the time, I used Oracle VirtualBox to run Xubuntu 20.04 to compile and debug And I use Visual Studio Code(preferably, because of the autocomplete, auto parenthesis and indentation and intelisense warnings) You can also use Geany (part of linux distributions), Eclipse or something else to run C code in the virtual machine
  2. You can install "Mingw" or other stuff and add it to environment variables and some other stuff to run in VSC. Tutorial on how to run C in VSC
  3. You can use a Linux WSL shell or Ubuntu for windows

Tutorial make virtual machine access your computer disk

  • First of, you need to have the machine fully shutdown. No state can be saved.
  • Select the virtual machine in virtual box, clcik "Settings" (orange mechanic wheel)
  • Go to the 2nd last option: "Shared folders" Add your path and check the box "Auto-mount"
  • And now, after you run/boot your machine, and go to "File System" AKA "File manager", in the section "Devices" you will find your shared folders. Named like: "sf_{name of the folder}"

About

⚙️ I share the assignments, exams and notes done for the subject Computer Systems Programming in the winter of 2022

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published