Professional Documents
Culture Documents
College of Engineering
Department of Computer Science
Course Number: ES 26
Course Description: Introduction to the major areas of computer science, computer programming,
software systems and methodology, computer theory, computer organization and architecture.
Course Objectives: At the end of the course, the student should be able to:
1. Design algorithms for a variety of problems and implement these as well-structured programs
in the C programming language;
2. Understand the basic concepts of computer programming;
3. Explain the theoretical and practical limitations of computers; and
4. Describe the structure and organization of computers;
Lecture Outline
1. Introduction
1.1 Nature of Computer Science
1.2 Hardware/Software Hierarchy (An Overview)
2. Elements of Programming
2.1 Design of Algorithms
2.2 Implementation of Algorithms (Programming)
3. Theory of Algorithms
3.1 Program Correctness
3.2 Computability
4. Machine Organization
4.1 Number systems
4.2 Computer Components
4.3 Low-Level Machine Languages
5. Software Hierarchy
5.1 Operating Systems
5.2 Programming Languages and Translators
5.3 Application Programs
5.4 Other Systems Softwares
6. Special Issues*
6.1 Computers and Society
6.2 Computer Crime and Security
6.3 Privacy
6.4 Issues/News clips
Lab Outline
Week Topic
1 Basic Computer Components
2 Design and Representation of Algorithms
3 Elements of C Programming
4 Program Control Structure 1: Sequence
5 Program Control Structure 2: Selection
6 Program Control Structure 3: Iteration
7 Program Control Structure 4: Function
8 Structured Data Type 1: Arrays
9 Structured Data Type 2: Records
10 More on Modular Programming and Data Types
11 Numerical Methods*
Course Requirements:
I. Recitation, Assignments, Quizzes, and Exercises (20%)
1. A Machine Exercise (ME) will be graded using the following criteria:
1. Functionality (70%). The program's compliance with the required specification.
2. Algorithm Design (20%). How well the solution is crafted.
3. Style (10%). How aesthetically well the codes are written.
2. A program submitted will be asked to be redone under the following circumstances:
1. The program does not compile.
2. There is a bug in the program (even a trivial one).
3. The program violates a specification.
4. The code is unreadable or has significant style violations.
3. A deduction of 15% for each day late will be given.
II. Exams (40%)
4. No make-up exams will be given. A student who misses an exam will be given a grade of
zero (0) for the exam he/she missed.
5. Corrections for exams will only be entertained on the week after the exam is returned.
III. Machine Problems / Projects (40%)
6. Projects submitted must fulfill the minimum specifications. Incomplete or non-working
projects will not be accepted.
7. Late projects will not be accepted unless otherwise specified by the instructor.
Class Policies:
I. Collaboration
Students are allowed to informally collaborate with other students who have taken the
course previously or are currently taking the course. This applies to assignments, exercises, and
machine problems. Submitting code verbatim or nearly verbatim even with proper citation is
prohibited unless otherwise specified by the instructor.
IV. Cheating
Any instance of copying the work and/or thoughts of others and passing it off as one's own is
considered as plagiarism. In using course materials, a student should be careful not to claim words,
ideas, and algorithms as one's own.
V. Grading System
A student will be graded according to the following scale:
General average Final grade
92 - 100 1.00
88 - 91 1.25
85 - 87 1.50
82 - 84 1.75
78 - 81 2.00
75 - 77 2.25
70 - 74 2.50
65 - 69 2.75
60 - 64 3.00
Consultation Hours: You can consult me right after class or we can arrange a meet by contacting me
through the ff:
e-mail: wilmarclopez@gmail.com
cellphone: 0905-498-1726
Please be discrete in sending me messages. Introduce yourselves and cite your intentions directly.
My official place is at