Computing from the ground up
Undergraduate course
- ECTS credits
- 10
- Teaching semesters Autumn
- Course code
- INF105
- Number of semesters
- 1
- Teaching language
- Norwegian
- Resources
- Schedule
Course description
Objectives and Content
Formed around the aim of building a self-hosted simple web site, this course will introduce a variety of Computer Science topics, and prepare a common contextual basis for subsequent courses in the Computer Science study programs.
Starting from hardware components of modern computing, and the execution of a single program we discuss file formats, databases, and the role of programming languages.
Looking at data exchange between programs leads into a discussion of the most important concepts in computer networks from the respective perspectives of a user and an application programmer.
In the context of setting up the web server, the course also gives an overview over the concepts of vulnerabilities, threats, attacks, and security measures.
Learning Outcomes
On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence
Knowledge
The student
- should be able to recognise the main hardware components of a computer, and describe how they work together to execute a program
- should be able to discuss the place of programming languages as a stack of abstraction from machine code to high-level concepts
- should be able to describe how data storage is organised in files and directories, recognise how file formats are convention choices
- should be able to use relational databases as an alternative storage organisation
- should be able to describe the purpose of data table normalisation
- should be able to explain basic networking principles, client-server communication and protocols
- should be able to describe typical threats to modern digital systems, and outline techniques of defense
- should be able to define the role of modern cryptography for security systems and protocols
- should be able to recognise the difficulty of security problems
Skills
The student
- is able to use basic shell commands
- is able to design a normalised database model
- is able to use sql to create and query across multiple tables
- is able to create a webpage using html, css, and simple dynamic elements
- is able to implement accessibility measures
- is able to administrate a self-hosted linux (virtual) machine
General competence
The student
- gets an understanding of capabilities of computer technology in a larger context
- able to use computing hardware under their own control, independent of subscription services
- is familiar with laws and ethics of resource access
- can participate in society discussions on tech topics around networks and security
ECTS Credits
Level of Study
Semester of Instruction
Required Previous Knowledge
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Science and Technology
www.uib.no/en/nt/52767/admission-faculty-science-and-technology
Teaching and learning methods
Compulsory Assignments and Attendance
Forms of Assessment
Portfolio evaluation, no exam
The protfolio can contain:
- Written essays
- Programming tasks
- Group session activities
- Oral / videopresentations
- Quizzes
The weighting of elements is announced at the beginning of the semester.
The weighting of elements is announced at the beginning of the semester.