-
Presentation
Presentation
This course aims to develop knowledge about basic computer architecture, including processors, memory, and operating systems. Students will also develop skills in numerical bases and the use of the command line. They will further acquire foundational knowledge of Markdown and Git, essential for documentation and software project management. The course also addresses principles of algorithms, flowcharts, and the first steps in Python programming, equipping students with a practical understanding of how programs are developed.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 6
-
Year | Nature | Language
Year | Nature | Language
1 | Mandatory | Português
-
Code
Code
ULHT1075-2279
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
Computer architecture Computers, processors, memory, cache, operating systems, file systems, applications. Numbering systems Numerical bases: binary, octal, decimal, hexadecimal, and others. Arithmetic operations between different bases. Addition and subtraction in binary and hexadecimal. Negative numbers in binary: two's complement. The command line as an efficient Interface with the computer Windows Terminal, Bash console, and main commands. File Manipulation Markdown Documentation and formatting in plain text. Version Control with Git Setup, basic concepts, branches/merges, remotes, collaboration methods, rebase, tags; LFS. Introduction to programming in Python Variables, data types, conditions and loops, functions Python code blocks in Markdown Use of flowcharts to represent simple programs (with variables, conditions, loops, and functions) Mermaid blocks to create flowcharts in Markdown
-
Objectives
Objectives
Computer basics: CPU, GPU, memory, cache, operating system, file system and command line Numerical bases: binary, octal, decimal, hexadecimal, and others. Generating documentation with Markdown Version control with Git Basic programming principles with Python and flowcharts
-
Teaching methodologies and assessment
Teaching methodologies and assessment
Intensive use of GitHub and/or similar platforms, with continuous resolution of exercises, with feedback from the teachers.
-
References
References
Cone, M. (2018). The Markdown Guide. Independently published. Chacon, S. & Straub, B. (2014). Pro Git (2nd Edition). Apress. Matthes, E. (2019). Python Crash Course: A Hands On Project Based Introduction To Programming, 2nd Edition. No Starch Press.
-
Office Hours
Office Hours
-
Mobility
Mobility
No