Computing from the ground up

Undergraduate course

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

10 ECTS

Level of Study

Bachelor

Semester of Instruction

Autumn
Required Previous Knowledge
None
Recommended Previous Knowledge
None
Credit Reduction due to Course Overlap
None
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
The teaching takes place through lectures and group-based exercises.
Compulsory Assignments and Attendance
Mandatory attendance in several group sessions. Dates will be announced at the start of the semester.
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.

Examination Support Material
Not relevant
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact studieveileder@ii.uib.no
Course Administrator
The Faculty of Science and Technology represented by the Department of Informatics is the course administrator for the course and study programme.