5010.10 - Introduction to Computer Science

Course number
Introduction to Computer Science
The objective of this course is to give a broad introduction to computer science with basic concepts about software languages and software construction, computer hardware and operating systems, software algorithms, software engineering, networks and databases.
Bytes, logical algebra, binary and hexadecimal number systems. Operating systems and processes, computer systems (CPU, RAM, bus), machine code and execution of programs. Client-server, computer networks and protocols, the OSI-protocol model, internet (addresses, email, www), hardware and data storage (RAM, HD, CD, Tape). Algorithms, searching and sorting. Software languages (machine-, assembler- and high-level languages), programming paradigms, traditional programming: variables, data types, data structures, functions and subrutines. From code to machine code (lexical analysis, parsing, code generation). Software development, software life cycles, steps in software development (Analysis - design - implementation - testing). Modules, connection and cohesion, top down - bottom up. Data structures: pointers, arrays, lists, threads, stacks, queues, self-developed data types. File structures: sequential files, text files, index files. Databases: relational databases, SQL.
Learning and teaching approaches
Lectures and problem solving
Assessment method
Four-hour written examination. Reference material permitted. The existing grade scale will be used.
Petur F. Zachariassen