esade

Computing Foundations (2235.YR.015720.1)

General information

Type:

OBL

Curs:

1

Period:

S semester

ECTS Credits:

8 ECTS

Teaching Staff:

Prerequisites

This course does not require having previously taken any other courses.

Previous Knowledge

No prior knowledge is required. This is a self-contained course on computing foundations for all participants, regardless of their previous computing experiences.

Workload distribution

This course has a study load of 8 ECTS, which is equivalent to 200 working hours. These hours will be approximately distributed as follows:

- 25% of lesson hours
- 6.5% of laboratory sessions
- 25% of independent student work
- 20% of assignments dedication
- 23.5% of group project work

COURSE CONTRIBUTION TO PROGRAM

Computers are powerful tools issued from basic principles.
As we move toward the Artificial Intelligence Era, humanity is achieving disruptive advances through the use of computers. However, the principles of computation have not changed.
To understand and apply the most advanced computing techniques, the knowledge of such basics makes the difference.

In this course, we will learn what a computer is, what it is made of, and how to interact with it. We will cover the fundamental principles, concepts, and skills forming the basis of computer science and serving as the building blocks of technological education.

Course Learning Objectives

This course aims to present the basic principles and elements of computers as well as to give a first approach to their user-level use.
In particular, this course will cover:

(1) Basic principles of computation:
- Information processes
- Information representation
(2) Computer constituent elements:
- Fundamentals of logical circuits
- Introduction to computer architecture
(3) Computation abstraction and user interaction:
- Overview of operating systems
- Algorithms and programs

At the end of the course, students will know how computers work and will be able to use them to create simple programs.

Methodology

To achieve the learning objectives of the course, contents will be covered in (1) lectures and class discussions, and (2) practical sessions and a group project.

(1) Lesson hours will be dedicated to theoretical lessons where the concepts for each topic will be introduced. After covering the theory, lesson hours will also be devoted to students' participation through questions, discussions, and exercise resolution.
(2) Practices will be separated into self-contained practical sessions in which students will have the opportunity of applying the lessons' theoretical concepts, and group project work where practices and autonomous dedication will combine to make the students achieve the learning objectives first-hand.

Assessment criteria

Students will be evaluated in terms of:
(1) Their active contribution to class activities: 10%
(2) Their performance during the different course activities: 60%
Including:
- Individual assignments/controls: 20%
- Two self-contained practical sessions: 10%
- Group project involving practical sessions and autonomous work: 30%
(3) Final exam: 30%

Bibliography

- Stallings, W. Computer Organization and Architecture, Tenth Edition 2016. ISBN-10: 0134101618
- Foundations of Computer Science [on line]. 2021. Available at: <https://en.wikibooks.org/wiki/Foundations_of_Computer_Science>
- The Python tutorial [on line]. Python Software Foundation, 2023. Available at: <https://docs.python.org/3/tutorial/>

Further references and materials will be published in moodle for every session.

Timetable and sections