You are on page 1of 11

SUBJECT: Free Elective 1 (Data Oriented Language)

PREPARED BY: Maria Cristina B. Nazareno

Description of the Course


Free Elective 2 covers Data Oriented Language. So what is this Data-Oriented
Design? It’s about on shifting focus to how data is read and written. As Rob Pike noted,
“Data dominates. If you've chosen the right data structures and organized things well,
the algorithms will almost always be self-evident. Data structures, not algorithms, are
central to programming.1 As the scale of the integration and complexity grows, the only
unifying common denominators between disparate sub-systems are:
1. the data they produce and consume; and
2. the services they use and offer.
In order to scale, system software architecture must be organized around a
common "shared information model" that spans multiple systems. This is the principle of
"data-oriented" design: expose the data and hide the code.
In this course, the principles of data-oriented thinking and why it offers an
appropriate paradigm to address large scale system integration will be discussed using
MySQL through a middleware application PHP in applying data-oriented design.
This course is three (3) units of credit.

Pre-requisite:
The students who are enrolled in this subject may not understand the topics if
they don’t have knowledge in Object Oriented and Procedural programming, thus, it is a
must that the student passed the programming subjects from his/her two years in
school.

General Objectives:
Upon completion of this course, students will be able to:
1. Understand Data Oriented Language and its importance in programming
2. Explain the differences between Object Oriented, procedural and data
oriented languages
Specific Objectives:
1. Understand what PHP is
2. Understand what is needed to create PHP scripts.
3. Learn how to create basic and complex PHP scripts.
4. Use forms to implement PHP scripts
5. Connect web pages to a database using PHP scripts

Course Requirements:
Class Standing 50%
Recitation/Behavior 15%
Assignments 10%
Projects 15%
Examinations 50%
Major Exams 25%
Application/Practical Tests 25%
Total 100%

References:

1
Rob Pike, Notes on Programming in C, p.102, 1989
COURSE OUTLINE
PRELIM
1. What is System Design?
2. The Practice of Distributed System Design
a. Tightly-coupled system design
b. Loosely-coupled system design
3. The Data-Oriented Design Paradigm
4. Data-Oriented Programming Principles
5. DOP vs OOP
6. Understanding How the Web Works
7. HTML versus PHP
8. Script versus Programming Language
9. Structure of PHP
10. Rules in PHP Programming
11. Comments in PHP
12. PHP is a Loosely Typed Language
13. Using PHP Variables
a. PHP String Variables
b. The Concatenation Operator
c. The strlen() function
d. The strpos() function
e. Displaying variable values
14. Using PHP Constants
MIDTERM
15. Understanding Data Types
16. PHP Operators
17. PHP If...Else Statements
18. PHP Switch Statement
19. PHP Arrays
a. What is an Array?
b. Numeric Arrays
c. Associative Arrays
d. Multidimensional Arrays
e. Comparisons of Arrays
20. PHP Looping
a. The while Loop
b. The do...while Statement
c. The for Loop
d. The foreach Loop
PRE-FINALS
21. PHP Functions
a. PHP Built-in Functions
b. How to Create a PHP Functions?
c. PHP Functions - Adding parameters
d. PHP Functions - Return values
22. Introducing MySQL
a. Understanding Database Structure
b. Communicating with MySQL
c. Building SQL queries
23. Protecting Your MySQL Databases
24. Designing and Building a Database
a. Creating and deleting a database
b. Adding tables and specifying a primary key
c. Removing a table
d. Changing the Database Structure
FINALS
25. Communicating with the Database from PHP Scripts
a. Knowing How MySQL and PHP Work Together
b. PHP Functions That Communicate with MySQL
c. Communicating with MySQL
d. Connecting to the MySQL server
e. Sending an SQL statement
f. Sending multiple queries
g. Selecting a Database
26. Using Other Helpful mysqli Functions
27. PHP Forms and User Input
a. PHP Form Handling
b. Form Validation
c. When to use method="get"?
d. When to use method="post"?
28. The PHP $_REQUEST Function
SUBJECT: Computer Organization and Assembly Language
PREPARED BY: Maria Cristina B. Nazareno

Description of the Course


The course “Computer Organization and Assembly Language” refers to a conceptual
understanding, rather than an engineering understanding, of the inner workings of computers. A more
formal definition of this term is “the logical arrangement of the hardware components and how they are
interconnected.”

The course presents the various hardware structures (down to transistor level) that compose a
computer, their individual functions, how they interact with each other, how they can be organized and
controlled to perform the task assigned to the computer. How data is represented, stored and
manipulated is also covered.

This course is three (3) units of credit.

Pre-requisite:
IT 101 is an official prerequisite for this course. In particular, some programming skills
and a good background in discrete mathematics will be very helpful.

General Objectives:
Upon completion of this course, the student should be able to:
1. Gain an understanding of the hardware structures that make computers possible.
2. Know the different devices and components of a computer system (down to the transistor level),
know how these components interact and work together.
3. Understand computer organization concepts and how they apply to systems development.

Course Requirements:
Class Standing 60%
Recitation/Behavior/Attendance 15%
Assignments 15%
Quizzes/Seatworks 15%
Project 15%
Examinations 40%
Major Exams 40%

References:
William Stallings , COMPUTER ORGANIZATION AND ARCHITECTURE Designing for Performance,
Eight Edition, Copyright © 2010, Pearson Prentice Hall
COURSE OUTLINE
PRELIM
1. What is Computer Organization?
2. Components of Computer System
a. Processor
b. Memory
c. I/O
3. Computer and Data Representation
a. Number Systems
b. Fixed-Point and Floating-Point Numbers
4. Logic Design Subsystems
MIDTERM
5. Microprocessors and Assembly Language Programming
a. Addressing Modes
b. Instruction Sets
6. Processor
a. General Microprocessor Organization
PREFINALS
b. Single bus architecture
b.1. Registers
b.2. Buses, gating and Control Sequences
b.3. Microprogram Control
c. Control Unit
d. Arithmetic Logic Unit
d.1. Adders (Half, Full, Fast, CLA)
d.2. Subtractor
d.3. Multiplication Algorithm (Booth/Extended Booth)
d.4. Division Algorithm (Restoring/Non-restoring)
FINALS
7. Memory
a. Types of Memory
b. Memory caching
c. Virtual memory
d. Memory interleaving
8. I/O Organization
1. Disk Organization
2. Input-Output Peripherals
9. Basic Interfacing
SUBJECT: Data Structure
PREPARED BY: Maria Cristina B. Nazareno

Description of the Course


Data Structure is a study of advanced programming topics focused on logical structures of data,
their physical representation, design and analysis of algorithms operating on the structures, and
techniques for program development and debugging. Emphasis is placed on the appropriate use and
choice of standard data structures.

This course introduces the students to the design and implementation of basic and advanced
data structures. Topics include basic data structures, trees, graphs and hashing. This discusses simple
and complex data structures, such as records, stacks, queues and link lists. Sorting techniques, dynamic
storage allocation and applications are also discussed here.

This course is three (3) units of credit.

Pre-requisite:
The students who are enrolled in this subject may not understand the topics if they don’t
have knowledge in C++ programming, thus, C++ Programming is a pre-requisite of the subject.

General Objectives:
The objective of the course is to introduce the fundamentals of Data Structures, Abstract
concepts and how these concepts are useful in problem solving. At the end of the semester student must
be able to:
1. To Understand and the concepts of object oriented language such as C++
2. Analyze step by step and develop algorithms to solve real world problems.
3. Implementing various data structures viz. Stacks, Queues, Linked Lists, Trees and Graphs.
4. Understanding various searching & sorting techniques

Specific Objectives:
Upon successful completion of this course, the student will be able to:
1. Understand basic data structures such as arrays, lists, trees, stacks, queues, binary search trees,
and hash tables.
2. Incorporate data structures into the applications they write.
3. Determine which algorithm or data structure to use in different scenarios.
4. Implement various searching and sorting algorithms.
5. Create and use data structures.

Course Requirements:
Class Standing 50%
Recitation/Behavior 15%
Assignments 10%
Quizzes/Seatworks 10%
Projects 15%
Examinations 50%
Major Exams 25%
Application/Practical Tests 25%

References:
Drozdek, Adam, Data Structure and Algorithms in C++ Third Edition, Course Technology, 2007
Penaflorida, Arlene R., Understanding Structured Programming, Vibal Publishing House, Inc.,
2007.
http://warrior-101.tripod.com/dstut/dstut.htm
http://www.cplusplus.com/doc/tutorial/
http://www.cplusplus.com/doc/tutorial/program_structure/
COURSE OUTLINE
PRELIM - INTRODUCTION TO DATA STRUCTURE
1. Functions
- Understanding functions
- Scope rules of functions
- Declaring and defining a function
- Passing data to a function
- Returning data from a function
2. Recursion
3. What is data structure?
4. Data structure design
5. Implementation of a data structure
6. Object-Oriented Programming (OOP) and data structures
MIDTERM - BASIC DATA STRUCTURE
1. Array.
- Understanding Array.
2. Declaring single-dimensional array
- Initializing arrays
- Accessing arrays
- Defining array size
- Passing single-dimensional array to a function
- Swapping and sorting values in an array
3. Working with two-dimensional array.
4. Handling strings
- Sorting strings
5. File Handling
- Text Files
6. Non-Text Files
PRE-FINALS - CLASS, STACKS AND QUEUES
1. Class
- The string class
- The vector class
2. Stacks
- Stack overflow
3. Queues
- Queue data structure
- Queue operations
FINALS - TREES
1. Expression Tree in C++
- Analysis of Expression Tree
2. Binary Trees
- Binary Search Trees
- Implementing Binary Trees

3. Multi-way Trees
- The Family of B-Trees
SUBJECT: Object Oriented Programming (Advance VB.NET)
PREPARED BY: Maria Cristina B. Nazareno

Description of the Course


This course teaches the students the science and art of developing complex systems through the
use of object-oriented analysis and design. Topics include the fundamental concepts of the object model,
and the method used for the development of complex systems based on the object model (the notation
and process of object-oriented analysis and design).
This course is three (3) units of credit.

Pre-requisite:
The students who are enrolled in this subject may not understand the topics if they don’t
have knowledge in Visual Basic (Fundamentals of Programming/Computer Programming 2)
programming, thus, Visual Basic Programming (Fundamentals of Programming/Computer
Programming 2) is a pre-requisite of the subject.

General Objectives:
At the end of the semester student must be able to:
1. Understand and create modal and non-modal form
2. Acquire extensive knowledge in data acquisition using database and VB.Net
3. Create an application that cannot only manipulate data but can also print data
4. Build a set up applications

Specific Objectives:
Upon successful completion of this course, the student will be able to:
1. Understand the difference between modal and non-modal form
2. Use database technology in creating application
3. Understand and implement securities and data integrity of an application
4. Add more enhancements such as videos, graphics and sounds in an application system
5. Deploy a created system in VB.Net

Course Requirements:
Class Standing 50%
Recitation/Behavior 15%
Assignments 10%
Quizzes/Seatworks 10%
Projects 15%
Examinations 50%
Major Exams 25%
Application/Practical Tests 25%

References:
COURSE OUTLINE
PRELIM
1. UNDERSTANDING OBJECT-ORIENTED CONCEPTS
a. Procedural Programming versus Object-Oriented Programming
b. Fundamentals of OOP
2. CREATING MDI APPLICATIONS
c. MDI Applications
d. MDI Parent and MDI Child Forms
e. Menu Lists Open Child Forms
f. Manage Menus
g. Open Forms and their Controls
2. INTRODUCTION TO DATABASES
a. Database Navigation
MIDTERM
3. DATABASE GRID
a. Database Integrity
b. Validation and Exception Handling
4. PRINTERS AND PRINTING
c. System.Drawing.Printing Namespace
d. PrintDocument, PrinterSettings, and PageSettings
e. PrintPreviewControl, PageSetupDialog, PrintPreviewDialog, and PrintDialog
Controls
PRE-FINALS
5. EXAMINING THE DATAGRIDVIEW
a. Architecture of DataGridView Control
b. Appearance of Data in Grids
c. Work with Data in Grids
6. Sound, Video, Graphics
7. SECURING WINDOWS APPLICATIONS
a. .NET Framework Security
b. Code Access Security
c. Role-Based Security

FINALS
8. BULDING SETUP APPLICATIONS
a. Installation Package
b. Customize a Setup Project
c. Control Installation of an Application
d. Specify Conditions of an Install
e. Custom Actions for after an Installation
SUBJECT: Multimedia
PREPARED BY: Maria Cristina B. Nazareno

Description of the Course


This three (3) unit course equips the IT student with the skills to develop interactive multimedia
applications which combine audio, video, text, animation, and still images that can be delivered from CD-
ROM to LAN, from Internet to the Intranet.

Pre-requisite:
IT 302 (Operating Systems) is a pre-requisite for this subject.

General Objectives:
At the end of the semester student must be able to:
1. Build applications using authoring tools.
2. Develop creative expressions using digital technology.
3. Evaluate theoretical aesthetics, perceptual possibilities and technical information with state-of-the
art equipment.
4. Create and support multimedia productions.
5. Build a set up applications

Course Requirements:
Class Standing 50%
Recitation/Behavior 15%
Assignments 10%
Quizzes/Seatworks 10%
Projects 15%
Examinations 50%
Major Exams 25%
Application/Practical Tests 25%

References:
COURSE OUTLINE
PRELIM
1. Multimedia Principles and Concepts
2. Multimedia Hardware
3. Using Adobe Photoshop
a. Design tools of CS 6
b. Pallets and their use
c. Cropping images
i. Using crop tool
ii. Using Lasso tool
iii. Using Pen tool
d. Enhancing images
i. Using Healing tool
ii. Using Clone Stamp tool
e. Adding Simple Effects to images
i. Using brush tool
ii. Rendering
MIDTERM
f. Enhancing Text
g. Creating canvas and real life painting
i. Using Brush tool
ii. Using Blending
4. Using Flash
a. Design tools and Window of Flash
b. Understanding tweening
PRE-FINALS
d. Adding animations to static images
e. Enhancing video through Flash
f. Creating animation using Flash
FINALS
5. Using Pinnacle
a. Design tools and Window of Pinnacle
b. Creating video
c. Enhancing video
i. Adding text effects
ii. Adding sound effects
d. Extracting video into different formats

You might also like