0% found this document useful (0 votes)
9 views8 pages

Computer Science I Syllabus Overview

This document presents the syllabus for the course CS112 Computer Science I of the Professional School of Computer Science at San Pablo Catholic University. The course is mandatory and worth 5 credits, with the aim of introducing students to the object-oriented paradigm. The syllabus describes the course contents organized into units such as the history of programming, virtual machines, basic type systems, object-oriented programming, and advanced concepts. It also presents the doc...

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views8 pages

Computer Science I Syllabus Overview

This document presents the syllabus for the course CS112 Computer Science I of the Professional School of Computer Science at San Pablo Catholic University. The course is mandatory and worth 5 credits, with the aim of introducing students to the object-oriented paradigm. The syllabus describes the course contents organized into units such as the history of programming, virtual machines, basic type systems, object-oriented programming, and advanced concepts. It also presents the doc...

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Saint Paul Catholic University

Professional School of
Computer Science
Syllabus

CS112. Computer Science I (Mandatory)


2020-I
1. GENERAL DATA
1.1 PROFESSIONAL CAREER : Computer Science
1.2 SUBJECT : CS112. Computer Science I
´
1.3 ACADEMIC SEMESTER : 2doSemester.
1.4 PREREQUISITE(S) : CS111. Video Game Programming. (1heSem)
´
1.5 CHARACTER : Mandatory
1.6 HOURS : 2 HT; 2 HP; 4 HL;
´
1.7 CREDITOS : 5

2. TEACHER
Dr. Manuel Loaiza Fernandez

Dr. Informatica, PUC-RIO, Brazil, 2009.


Master in Computer Science, PUC-RIO, Brazil, 2005.

Mg. Carlos Eduardo Atencio Torres


. Master of Science in Computer Science, USP, Brazil, 2014.

Prof. Systems Engineer, UNSA, Peru, 2017.

Mag. Alvaro Henry Mamani Aliaga


Master of Computer Science, IME-USP, Brazil, 2011.

Prof. Bachiller Systems Engineering, UNSA, Peru, 2006.

3. FUNDAMENTATION OF´ THE COURSE


This is the second course in the programming line of introductory courses to Computer Science.
the course will serve as a bridge between the imperative paradigm and the object-oriented one, and will also introduce the participants
in the various topics of the area of computing such as: algorithms, data structures, software engineering, etc.

4. SUMMARY
1. Historia2. M´aquinas virtuales3. Sistemas de tipos b´asicos4. Conceptos Fundamentales de Programacio´n5. Funciones
6. Arreglos y Punteros 7. Programacio´n orientada a objetos8. Plantillas y STL 9. Conceptos Avanzados

5. GENERAL OBJECTIVE

Introduce the student to the fundamentals of the object-oriented paradigm, allowing them to assimilate the concepts.
necessary to develop information systems.

1
6. CONTRIBUTION ´TO PROFESSIONAL TRAINING
´ AND GENERAL EDUCATION´
This discipline contributes to the achievement of the following outcomes of the career:

Apply knowledge of computing and appropriate mathematics for the discipline. (Evaluate)

c) Design, implement, and evaluate a system, process, component, or software program to achieve the
desired needs. (Evaluate)
h) To engage in a process of continuous professional learning. (To become familiar with)

i) Use current techniques and tools necessary for the practice of computing. (Use)

7. SPECIFIC COMPUTER SKILLS ´ ´


This discipline contributes to the formation of the following competencies in the area of computing (IEEE):
C1. The intellectual understanding and the ability to apply the mathematical foundations and the theory of computer science.
science).⇒Outcome a

C2. Ability to have a critical and creative perspective to identify and solve problems using thought
computational lie.

C3. An intellectual understanding of, and appreciation for, the central role of algorithms and data structures.
Outcome c
C23. Ability to undertake, complete, and present a final project. ⇒Outcome i
[Link] the need for permanent training and the improvement of skills and capabilities. ⇒Outcome i

[Link] and design computer systems in a way that demonstrates understanding of the balance between the
design options.⇒Outcome c

CS2. Identify and analyze the appropriate criteria and specifications for specific problems, and plan strategies.
for its solution. ⇒ Outcome c

Evaluate systems in terms of quality attributes in general and the possible advantages and disadvantages that arise.
presented in the given problem. ⇒ Outcome a

8. CONTENIDOS

UNIT 1: History(1)
Competencies: C1
CONTENT GENERAL OBJECTIVE

Brief review of programming paradigms. Discuss the historical context of the paradigms of
various programming languages [Familiarize]
Comparison between functional programming and pro-
imperative grammar.
History of programming languages.

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

2
UNIT 2: Virtual Machines(1)
Competencias: C2, CS6
CONTENT GENERAL OBJECTIVE

The concept of virtual machine. Explain the concept of virtual memory and the way
how it is carried out in hardware and software [Familiarize oneself]
Types of virtualization (including Hardware / Soft-
ware, OS, Server, Service, Network. Differentiate emulation y the aislamien-
to familiarize
Intermediate languages.
Evaluate compensation virtualization

{"Lecturas":"[Stroustrup, 2013], [Deitel and Deitel, 2017]"}

3
UNIT 3: Basic Type Systems (2)
Competencias: C1,C2,CS1
CONTENT GENERAL OBJECTIVE

Types as a set of values along with a con- Both for primitive type and a compound type, des-
set of operations. to write informally about the values it has
Type[Get acquainted]
Primitive types (e.g. numbers, booleans)
For a language with a static type system, des-
Composition of built types from other types describe the operations that are prohibited in writing
(e.g., records, unions, arrays, lists, functions.
nes, references) static, how to pass the wrong type of value to a
function or method [Familiarize]
Declaration of models (link, visibility, scope
and lifespan). Describe examples of program errors detected
by a type system [Familiarize]
Overview of type checking.
For multiple programming languages, identifi-
create properties of a program with verification
tactics and properties of a program with verification
dynamic [Use]
Give an example of a program that does not verify ti-
however it does not have
error when executed [Familiarize]

Use types and type error messages to write


and debug programs[Use]

Explicar como las reglas de tipificacio´n definen el


set of operations that are legal for a ti-
to familiarize
Write the type rules that govern the use of a
specific compound [Use]
Explain why undecidability requires systems of
type to conservatively approximate the compor-
Familiarization with a program

Define and use program pieces (such as, fun-


actions, classes, methods that use generic types,
including for collections[Use]

Discuss the differences between generics.


subtype and overload [Familiarize]

Explicar mu´ltiples beneficios y limitaciones de tipifi-


static code in writing, maintenance and cleanup
software ration [Familiarize]

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

4
UNIT 4: Fundamental Concepts of Programming (6)
Competencias: C1,C2,CS2
CONTENT GENERAL OBJECTIVE

Basic syntax and semantics of a high-level language Analyze and explain the behavior of programs
level. simple ones that involve fundamental structures
programming variables, expressions, assignment
Variables and primitive data types (e.g., numbers, inputs, outputs, control structures, functions, parameter passing
characters, booleans parameters, and recursion[Evaluate]
Expressions and assignments. Identify and describe the use of primitive data types
Conditional and iterative control structures. familiarize
Write programs that use primitive data types
you [use]
Modify and expand short programs that use it.
Conditional and iterative control structures
my functions[Use]

Design, implement, test, and debug a program


what each of the following structures uses
fundamental data: basic calculations, simple I/O,
standard conditional and iterative structures, define
function declaration and parameter passing
Choose appropriate condition and repetition structures
for a programming assignment given [Evaluate]

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

UNIT 5: Functions (10)


Competencias: C1,C2,CS2
CONTENT GENERAL OBJECTIVE

Passing functions and parameters. Design, implement, test, and debug a program
that uses each of the following structures of
Parameter passing essential data: basic calculations, simple I/O,
Function overloading standard conditional and iterative structures, define
Function definition, and parameter passing [Use]
Fundamentals of recursivity
Understand and apply the concept of parameter passing
Template concepts in functions both by value and by reference to a function.
reference.[Use]

Identify and apply the concept of function overloading


actions.[Use]

Describe the concept of recursion and give examples.


familiarize oneself with its use

Design, implement, and apply the concept of planting


linked to the need to create generic functions
case.[Use]

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

5
UNIT 6: Arrays and Pointers (10)
Competencias: C1,C2,CS2
CONTENT GENERAL OBJECTIVE

Definition of arrays Understand and implement one-dimensional arrays.


Familiarize
Multidimensional arrays
Design and apply the concept of multidimensional arrays
Fundamentals about pointers professionals.[Use]
Dynamic memory management Understand and apply the concept of references and pointers.
Advanced Concepts of Pointers familiarize
Understand, apply, and evaluate the relationship between pointers
and arrangements.[Evaluate]

Understand and implement dynamic management of the me-


Memory. Differentiating memory regions: heap
y stack. [Evaluate]
Design, implement, and evaluate the concept of point-
ro a puntero, puntero a funci´on, entre otros concep-
tos.[Evaluate]

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

6
UNIT 7: Object-oriented programming (10)
Competencias: C2,C24,CS1,CS2
CONTENT GENERAL OBJECTIVE

Object-oriented design: Design and implement a class [Use]

Decomposition into objects that store Use subclass to design a simple hierarchy of
behaviors and possess behavior classes that allow the code to be reusable by different
your subclasses[Use]
Class hierarchy-based design for mo-
delaying Correctly reason about the flow of control in
Object-oriented languages for encapsulation a program through dynamic sending [Use]
crown: Compare y to contrast (1) the approach
procedural/function - defining a function
privacy and the visibility of members of the
class por cada operaci´on con el cuerdo de la funci´on
providing a case for each data variation -
Interfaces reveal a unique method of signatures y (2) the object-oriented approach - defining a
abstract base classes class for each variation of data with the definition
from the class providing a method for each
Definition of categories, fields, methods and cons operation. Understanding both approaches as a
Instructors. definition of variations and operations of a
The subclasses, inheritance, and alteration method matrix[Evaluate]
temporal. Explain the relationship between object-oriented inheritance.
Subclassification: objects (shared code and overriding) and subtyping
ion (the idea of a subtype is to be usable in a con-
•Polymorphism article Subtype; implicit upcasts text in which he waits for the supertype) [Familiarize]
tos in languages with types.
Use object-oriented encapsulation mechanisms
• Notion of behavior replacement: the tos, such as interfaces and private members [Use]
subtypes act as supertypes.
Define and use iterators and other operations on
Relationship between subtypes and inheritance.
aggregations, including operations that have fun-
Use of class collections, iterators, and others com- options as arguments, in multiple languages of
components of the standard library. programming, select the most natural way by
each language[Use]
Dynamic assignment: definition of call method
yes.

Readings: [Stroustrup, 2013], [Deitel and Deitel, 2017]

UNIT 8: Templates and STL (10)


Competencias: C1,C2,CS2
CONTENT GENERAL OBJECTIVE

Definition of templates in classes Understand the concepts of templates in classes.


to become a liar
Basic concepts about the Standard Template Li-
library (STL) Implement and create new types of generic data.
[Use]

Understand the basic structures of the STL. [Family-


to curl

Use basic data structures such as: stack, queue,


list, vector contents in the STL. [Use]

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

7
UNIT 9: Advanced Concepts (10)
Competencies: C1, C2, CS2
CONTENT GENERAL OBJECTIVE

Definition of operator overloading Understand the concepts of operator overloading.


Familiarize
Input and output data manipulation (I/O)
Implement the allowed operator overloading
Design patterns in the programming language. [Use]

Understand the concepts of file manipulation.


Familiarize yourself

Create programs for reading and writing to files.


[Use]

Understand the concepts of design patterns.


to become a liar

Lecturas:[Stroustrup, 2013], [Deitel and Deitel, 2017]

´
9. METHODOLOGY

The course professor will present theoretical classes on the topics outlined in the program, encouraging intervention by
the students
The course professor will present demonstrations to support theoretical classes.
The teacher and the students will carry out practices.

Students must attend class having read what the teacher is going to present. This way, it will facilitate the
understanding and the students will be in better conditions to ask questions in class.

10. EVALUATIONS

Permanent Evaluation 1: 20%


Midterm Exam: 30%

Permanent Evaluation 2: 20%


Examen Final: 30 %

References
Deitel and Deitel, 2017 Deitel, P. and Deitel, H. (2017). C++ How to Program (Early Objects Version). Deitel, How to
Program. Pearson Education.
[Stroustrup, 2013] Stroustrup, B. (2013).The C++ Programming Language. Addison-Wesley, 4th edition.

You might also like