Academic management

University of Oviedo

Uniovi.es | Home | Search | Site Map

| |

Bachelor´s Degree in Industrial Technologies Engineering
GITECI01-1-006
Foundations of Computer Science
General description and schedule Teaching Guide

Coordinator/s:

ALFREDO SANTIAGO ALGUERO GARCIA
alguerouniovi.es

Faculty:

Santiago García Carbajal
sgarciauniovi.es
(English Group)
Jorge Álvarez Fidalgo
alvarezfjorgeuniovi.es
(English Group)
Beatriz Remeseiro Lopez
bremeseirouniovi.es
(English Group)
Raúl Mencía Cascallana
menciarauluniovi.es
(English Group)
Enol Junquera Álvarez
junqueraenoluniovi.es
Ricardo Ramos Montero
rramosuniovi.es
Rubén Luque Lodeiro
luquerubenuniovi.es
JOSE RAMON DE DIEGO RODRIGUEZ
dediegouniovi.es
ALEJANDRO HERNANDEZ ARAUZO
alexuniovi.es
José Roldán Gómez
roldangjoseuniovi.es
MELCHOR ALONSO REQUEJO
melchoruniovi.es
RUBEN ZURITA HEVIA
zuritauniovi.es
Francisco Javier Gil Gala
giljavieruniovi.es
ALFREDO SANTIAGO ALGUERO GARCIA
alguerouniovi.es
Nahuel Alejandro Costa Cortez
costanahueluniovi.es
Marcos Palacios Gutiérrez
palaciosmarcosuniovi.es
Hugo Lebredo Bujan
lebredohugouniovi.es
Pablo Suárez-Otero González
suarezgpablouniovi.es
Cristian Augusto Alonso
augustocristianuniovi.es
José Otero Rodríguez
joterouniovi.es

Contextualization:

“Computer Science Fundamentals” belongs to the “Basic Training” module and to the “Computer Science” domain. For this reason, this subject includes part of the skills a student will have to develop regarding computer science, and more specifically, it covers all the basic knowledge to use and program computers, operating systems, databases and computer applications commonly used in engineering. It also adds the following transversal skills: abstraction capability, problem-solving capability, and creativity. After framing the subject, within both computer science and the other disciplines of the graduate course, an introduction to the fields which give name to the main four topics of the syllabus will take place. These are: software and hardware components, operating systems, programming and databases, being the third the most relevant one. In order to develop the programming skills, a general-purpose programming language will be used, being versatile enough for every single engineering branch. The subject has a strong practical component to allow students to learn through interaction with the computer, a tool which will be essential for both academic and professional life.

Requirements:

As it is a subject with basic skills, no specific previous knowledge is required. Nevertheless, the student is expected to have basic user-level abilities and possess all necessary additional knowledge and abilities in order to gain the maximum benefit from the subject.

Competences and learning results:

The skills which will be developed in this subject, within the framework of a short introductory course, are the following:

• Specific skill CB3:

Basic knowledge about the use and programming of computers, operating systems, databases and computer applications usually used in engineering.

• The basic and general competences indicated in the verification report for this subject will be also worked on (CG3, 4, and 15).

These competences are specified in the following learning outcomes:

• With regards to basic computer use knowledge:

RFI-1- Contextualize computer science within the engineering disciplines.

RFI-2- Know the fundamentals of the binary system to understand how information is represented in a computer.

RFI-3- Identify and understand the basic operation of the hardware components which define a computer system and how it connects with other computers in a network.

RFI-4- Distinguish the basic peripherals used in a computer system and specifically those with application to the engineering field.

RFI-5- Classify the different types of software used in a computer system.

RFI-6- Identify and classify the different types of computer systems and their scope of application.

• With regards to basic knowledge about operating systems:

RFI-7- Know the main functions which an operating system performs.

RFI-8- Analyze which services an operating system provides to applications and to final users.

RFI-9- Identify the main operating systems which are being used in the professional environments of engineering and use the main user level services.

• With regards to basic knowledge about databases:

RFI-10- Know the main functions which a database management system performs.

RFI-11- Create simple data models.

RFI-12- Use basic expressions to retrieve and modify information stored in a database.

RFI-13- Identify which database management systems are used in professional engineering environments.

• With regards to basic knowledge about application programs:

RFI-14- Identify the main application programs used in professional environments connected with Industrial Technology Engineering.

• With regards to basic knowledge about computer programming:

RFI-15- Understand the notion of algorithm and the abstraction process of a problem in programming.

RFI-16- Identify the process of developing a program and how it is contextualized within the general process of Software Engineering.

RFI-17- Identify the basic data structures provided by a structured programming language.

RFI-18- Handle the basic data structures provided by a structured programming language.

RFI-19- Abstract operations.

RFI-20- Design small applications to solve elementary problems in collaborative work environments.

Contents:

The distribution of the topics and chapters covered in the subject is the following:

1. INT - Introduction

o Overall view of computer science within the context of the other engineering disciplines.

o Structure and operation of a computer.

o Representation of information on a computer.

2. BD – Introduction to databases

o Notion of a database.

o Relational data model fundamentals.

o Performing queries and updates.

o Database management systems in professional engineering environments.

3. PRO – Introduction to programming

o Problem abstraction for programming: basic concepts.

o Variables, expressions, assignment.

o Console input/output.

o Definition and use of subprograms and functions. Variable scope.

o Handling of the basic control flow structures: sequence, choice and repetitive.

o File input / output.

o Basic data types and structures.

o Steps in program development. From high level to execution on the processor. Compiled and interpreted languages.

4. HSW – Hardware components and software of a computer system

o Structure and operation of a computer: The Von Neumann architecture and machine language.

o Peripheral devices.

o System interconnection: types, mechanisms and applications.

o Software types: base and application software.

o Computer system types and application scope.

5. SO – Introduction to operating systems

o Notion and functions performed by an operating system.

o Interface and services offered to the programs. o Interface and services offered to the users.

o Operating systems used in professional engineering environments.

Generic description of the practical sessions corresponding to each theory topic:

  1. Introduction to the tools in the laboratory (1h). The spreadsheet as a tool (3h).
  2.  Design, implementation and operation of a database (6h).
  3. Programming (18h):
    • Introduction to the development environment.
    • Variables, expressions, and console input-output.
    • Control flow structures: if-else, while, for.
    • Functions.
    • Structures: lists and strings.
    • Files.

Methodology and work plan:

Classroom activities for students will consist of attendance at theory classes, practice and group tutor sessions. In the theory classes the lecturer will combine the presentation of the theoretical aspects of the subject with the developing of examples and exercises, encouraging when possible the participation of the students in the problem solving, cooperating with other classmates in small groups. On the other hand, practice sessions will be individual to ensure the correct acquisition of the basic practical abilities by the students. Group tutor sessions will be used to allow the students to present doubts and difficulties found during the learning process. Personal tutor sessions will take place during the timetable set by the lecturer, being also possible to use the e-mail.

Activities to be carried out at home will consist of the study of the theory, the completion of those exercises and problems proposed by the lecturer or published on the Virtual Campus, and group tasks.

The subject will require a total of 150 hours including face to face and home activities.

The estimated breakdown of the work by topic is as follows (every two hours of theory and practice class correspond to one week).

 

 

IN CLASS WORK

HOME WORK

Topics

Total hours

Theory sessions

Practice sessions

Group tutor sessions

Evaluation sessions

Total

Group work

Individual work

Total

INT

10

2

4

 

 

6

 

4

4

BD

28

5

6

 

 

11

 

17

17

PRO

74

15

18

 

 

33

 

41

41

HSW

17

3

 

 

 

3

 

14

14

SO

17

3

 

 

 

3

 

14

14

-

4

 

 

2

2

4

 

 

 

TOTAL

150

28

28

2

2

60

0

90

90

 The summary by work modalities is shown below:

TYPE

Hours

%

Total

 

 

 

 

 

Classroom

Theory classes

28

18.7

 

 

 

 

 

60

Classroom practical sessions/seminars/workshops

 

 

Laboratory practical sessions/fieldwork/I.T. classes/language

28

18.7

Hospital work experience

 

 

Group tutor sessions

2

1.3

External practical sessions

 

 

Evaluation sessions

2

1.3

Non-classroom

Group work

 

 

90

Individual work

90

60

 

TOTAL

150

 

 

Exceptionally, if the sanitary conditions require it, online teaching activities could be included. In
this case, the students will be informed of the changes made.

Assessment of students learning:

Ordinary evaluation

This evaluation session will be divided into two parts, theory and practice, with the following weighting for each one:

  • Theory 50%
  • Practice 50%

The grade for the theoretical part will be obtained from a written exam which will take place in the official date set for the session. If the student does not reach the 40% of the total score for the part related to Programming in the exam, (s)he will obtain a failing grade in the subject with a maximum of 4 points.

The mark for the practical evaluation will be obtained by means of individual tests consisting in problems solved during the practical sessions, which will be evaluated by the lecturers and their weighs will be proportional to the evaluated part. If the student does not reach the 40% of the total score for the part related to Programming in the exam, (s)he will obtain a failing grade in the subject with a maximum of 4 points.

If a mark of 4 out of 10 is not achieved in any of the two parts, the final mark will be a fail, calculated as the average of the two parts with a maximum of 4.5 points. In order to pass the ordinary session, the final mark must be at least 5 out of 10.

The tasks to be evaluated but not having been performed by the student, will be counted as a zero for the calculation of the final mark. Nevertheless, if the total weighting of these activities is more than 50% of the total, the final mark will be judged as “not presented”.

Extraordinary evaluation

The evaluation will consist of a theory exam and a practice one, with the following weighting for the final mark:

  • Extraordinary theory exam: 50%
  • Extraordinary practice exam: 50%

If the student does not reach the 40% of the total score for the part related to Programming in both exams, (s)he will obtain a failing grade in the subject with a maximum of 4 points. A minimum mark of 5 in both exams will be required to pass the subject, otherwise the student will obtain a failing grade in the subject, with a mark calculated as the average of the two parts with a maximum of 4.5 points.

Students with a mark greater than or equal to 5 in any of the parts in the ordinary session (current academic year) will not be required to repeat that exam task.

Semi-virtual modality

The evaluation will consist of a theory exam and a practice one, with the following weighting for the final mark:

  • Theory exam: 50%
  • Practice exam: 50%

If the student does not reach the 40% of the total score for the part related to Programming in both exams, (s)he will obtain a failing grade in the subject with a maximum of 4 points. A minimum mark of 5 in both exams will be required to pass the subject, otherwise the student will obtain a failing grade in the subject, with a mark calculated as the average of the two parts with a maximum of 4.5 points.

Exceptionally, if the sanitary conditions require it, online evaluation procedures could be included. In this case, the students will be informed of the changes made.

Resources, bibliography and documentation:

Basic bibliography

• Computer Science: An Overview, 11th ed.

Author: J. G. Brookshear

Publisher: Addison Wesley, 2011

Additional bibliography

• Computer Confluence Introductory, 7th ed.

Author: G. Beekman

Publisher: Prentice Hall, 2005

• Python Programming: An Introduction to Computer Science, 2nd ed.

Author: J. Zelle

Publisher: Franklin, Beedle & Associates Inc., 2010

• Database System Concepts, 6th ed.

Authors. A. Silberschatz, H.F. Korth, S. Sudarshan

Editorial: McGraw Hill, 2010

• Online manuals and resources about the programming language used in laboratory sessions.

Software resources

• Basic software for the practical sessions: Windows operating systems, Office 365, office suite (spreadsheet, word processor, database management system).

• Development environment for the language used in the programming practice sessions.