COURSE SYLLABUS
COURSE INFORMATION:
Course Code:
College:
Department:
Degree Program:
Faculty Member:
Consultation Period:
Contact Information:
SDF102 Intermediate Programming
Course Description:
The course trains students on the proper and judicious use of recursive code structures, proper parameter
passing methods, data structures beyond primitive types and simple arrays of primitive types, and text files.
The course also trains students on how to plan and execute ways to test their code with respect to common
and boundary cases and on how to properly format and document their code with respect to appropriate
coding standards.
Computer Studies
Computer Science
BS Computer Science, BS Information Technology, BS Information Systems
Juan Punong Tanod
2:30-4:00 Monday to Wednesday
juan.tanod@hei.edu.ph
The coverage of this course extends the topics of programming fundamentals by covering the parameter
passing mechanisms of user-defined functions, definition and applications of recursive functions,
specification and implementation of arrays, matrices, records, and linked-lists, and use of files.
COURSE OUTCOMES (CO):
On the completion of the course, student is expected to be able to do the following:
Graduate Outcomes
Apply knowledge of computing fundamentals,
knowledge of a computing specialization, and
mathematics, science, and domain knowledge
appropriate for the computing specialization to
the abstraction and conceptualization of
computing models from defined problems and
requirements.
An ability to apply mathematical foundations,
algorithmic principles and computer science
theory in the modeling and design of
computer-based systems in a way that
demonstrates comprehension of the tradeoffs
involved in design choices
Create, select, adapt and apply appropriate
techniques, resources and modern computing
tools to complex computing activities, with an
understanding of the limitations to accomplish
a common goal
page 1
OBE - COURSE SYLLABUS
Course Outcomes
Design and implement separate programs to solve a set of computing
problems, based on given specifications, by applying their knowledge of:
CO1
CO2
CO3
(1) fundamentals of programming,
(2) user-defined functions and parameter passing mechanisms,
(3) recursive functions,
(4) intermediate data structures (arrays, matrices, records, and linked-lists),
(5) files.
Apply an appropriate coding standard with proper documentation in order to
come up with a readable, understandable and maintainable program code.
Select and apply appropriate debugging and testing techniques to ensure the
correctness of a program and compliance to given specifications, to solve a
computing problem
LEARNING OUTPUTS (LO):
As evidence of attaining the above learning outcomes, the student has to do and submit the following:
LO1
Learning Output
Description and other Details
Set of Compiled Software
Solutions
Given the programming guidelines and a set of computing problem with
technical specifications, each student must design and implement an
appropriate solution by applying their knowledge of: fundamentals of
programming, user-defined functions (which may or may not be recursive) and
parameter passing mechanisms, appropriate intermediate data structures
(arrays, matrices, records, and linked-lists), and text files.
Course
Outcomes it
represents
CO1
The solution must be compiled without syntax errors nor warnings. The
compiled software must run on a specific operating system.
LO2
Set of Formatted Source
Code (Soft Copies)
Each source code of the solutions to programming exercises and programming
challenge problems must be formatted using an appropriate coding standard.
Each source code file must be prepared separately with the following
documentation header information:
1.
2.
3.
4.
Student Information (ID, Name, Course, Major)
Date of Completion
Declaration of Known Bugs
Brief Description of the source file
CO2
Each function or method must have the following documentation specifications:
1. Brief Description of what the routine does
2. Brief Description of parameters and their use
3. Side-effect(s) of the routine to the parameters
4. Assumptions and Assertions
5. Expected return value
LO3
Debugging and Testing
Plan and Results
For each challenge programming problem, the debugging and testing plan
must be articulated in a report included in the source code. The report must
contain the following:
1.
2.
3.
4.
5.
Student Information (ID, Name, Course, Major)
Testing Plan and Selection of Boundary condition inputs
Summary of the results of the testing plan
Known bugs and debugging plans
Results of the debugging plans with description why the results are
problematic.
CO3
RUBRIC TO ASSESS LEARNING OUTPUTS (R):
OTHER REQUIREMENTS AND ASSESSMENTS (AA)
Aside from the final output, the student will be assessed at other times during the term by the following:
Assessment Activity
CFD
DBT
PRG
MID
FIN
Description and other Details
Course Outcomes it represents
Code Formatting and Documenting Exercises using a Style Guide
(includes documenting user-defined functions and their respective
parameters)
Debugging and Testing Exercise
Programming Exercise
Midterm Exam: A Comprehensive Exam covering the first half of the
knowledge areas required in the course
Final Exam: A Comprehensive Exam covering the knowledge areas
required in the course
CO2
CO3
CO1
CO1
CO1
GRADING SYSTEM:
The final grade in this course will be composed of the following items and their weights in the final grade computation:
Assessment Item
CFD
DBT
PRG
MID
FIN
Grade Source (Score or Rubric Grade)
Percentage of Final Grade
Rubric for adherance to appropriate coding style and documentation guide
Rubric for debugging and testing plan
Rubric for programming exercise
Score for midterm exam
Score for final exam
Passing Grade
Passing Grade conditions:
15 %
10 %
15 %
20 %
30 %
1.0 (or D)
Student should be able to obtain an average score of 60 / 100
LEARNING PLAN:
In order to achieve the outcomes of this course, learners will go through this learning plan
Course
Outcome
Intended Learning
Outcomes (ILO)
CO1
Recall the topics to
be covered and
relate those topics to
the coverage of
Programming
Fundamentals.
Recall the policies
and guidelines
Express the
expected
requirements to be
delivered to pass the
course.
page 3
OBE - COURSE SYLLABUS
Topics
Course Syllabus
and Laboratory
Policies and
Guidelines
Week
Learning
Activities
Lecture
Assessment
Activities
References
Course
Syllabus
week 1
Laboratory
Policies and
Guidelines
Course
Outcome
Intended Learning
Outcomes (ILO)
CO1
Explain the
importance of code
abstraction in
programming.
Topics
User-defined
functions and
parameters
Week
weeks
1 to 2
Learning
Activities
Assessment
Activities
Lecture
Demonstration
Recitation
References
Deitel and
Deitel
Formulate algorithms
that attempt to solve
specific problems
and show why it
works.
Examine a given
algorithm and
prepare correct test
cases (including
boundary cases) to
check if the
algorithm works as
expected.
Formulate correct
user-defined
functions to
implement
algorithms to solve
specific problems.
Design the function
interface with proper
data sources and
return values.
CO3
Analyze the data
movements and
computations in a
program through
code tracing and
assess whether
those make sense.
Individual Tracing
and Debugging
Exercise
DTE
Handout
Laboratory
Exercises
LEX, CFE, CDE
Deitel and
Deitel
Correct the mistakes
in the source code if
there are.
CO1,CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
user-defined
Savitch
Koenig and
Course
Outcome
Intended Learning
Outcomes (ILO)
Topics
Week
Learning
Activities
Assessment
Activities
functions.
References
Moo
Apply correct coding
style on the
formulated solutions.
CO1
Differentiate pass by
reference from pass
by value.
Parameter passing
mechanisms
weeks
3 to 4
Lecture
Demonstration
Recitation
Deitel and
Deitel
Choose the proper
parameter passing
mechanism for a
given procedural
abstraction.
CO1, CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
parameter passing
mechanisms.
Laboratory
Exercises
LEX, CFE, CDE
Deitel and
Deitel
Savitch
Koenig and
Moo
Apply correct coding
style on the
formulated solutions.
CO1
Explain how to
properly specify
recursive definition
suitable for coding.
Demonstrate how
recursive function
calls are visualized
using function call
trees.
Draw a tree diagram
that depicts the
succeeding function
calls given an initial
function call.
Formulate recursive
algorithms that
attempt to solve
specific problems
and show why it
works.
page 5
OBE - COURSE SYLLABUS
Recursion and
function call
visualization
weeks
5 to 6
Lecture
Demonstration
Board Work
Deitel and
Deitel
Handout
Course
Outcome
Intended Learning
Outcomes (ILO)
Topics
Week
Learning
Activities
Assessment
Activities
References
Laboratory
Exercises
LEX, CFE, CDE
Deitel and
Deitel
Examine a given
recursive algorithm
and prepare correct
test cases (including
boundary cases) to
check if the recursive
algorithm works as
expected.
Formulate correct
user-defined
recursive functions
to implement
recursive algorithms
to solve specific
problems.
CO1, CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
recursive functions.
Savitch
Koenig and
Moo
Apply correct coding
style on the
formulated solutions.
CO1
Explain how arrays
are represented in
memory and draw a
depiction of an array
declaration.
Arrays
Sorting
Linear Search
Binary Search
weeks
7 to 9
Lecture
Demonstration
Board Work
Seat Work
Deitel and
Deitel
Handout
Explain how sorting
works.
Explain how linear
and binary search
works.
CO3
Analyze the data
movements and
computations in a
program through
code tracing and
assess whether
those make sense.
Correct the mistakes
in the source code if
Paired Students
Tracing and
Debugging
Exercise
DTE
Handout
Course
Outcome
Intended Learning
Outcomes (ILO)
Topics
Week
Learning
Activities
Assessment
Activities
References
Laboratory
Exercises
LEX, CFE, CDE
Deitel and
Deitel
there are.
CO1,CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
arrays.
Savitch
Koenig and
Moo
Apply correct coding
style on the
formulated solutions.
CO1
Explain how
matrices are
represented in
memory and draw a
depiction of a matrix
declaration.
Matrices and
Applications
2
weeks
10 to
11
Lecture
Demonstration
Recitation
Design solutions to
computing problems
that employ the use
of matrices as main
data structure.
CO3
Analyze the data
movements and
computations in a
program through
code tracing and
assess whether
those make sense.
Individual Tracing
and Debugging
Exercise
DTE
Laboratory
Exercises
LEX, CFE, CDE
Correct the mistakes
in the source code if
there are.
CO1, CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
matrices.
Apply correct coding
style on the
formulated solutions.
page 7
OBE - COURSE SYLLABUS
Deitel and
Deitel
Savitch
Koenig and
Moo
Course
Outcome
Intended Learning
Outcomes (ILO)
Topics
Week
Learning
Activities
Assessment
Activities
References
Midterm Exam
CO1
Explain how records
are represented in
memory and how it
organizes data.
Record Structures
and Applications
weeks
12-13
Lecture
Demonstration
Recitation
Design solutions to
computing problems
that employ the use
of records as main
data structure.
CO3
Analyze the data
movements and
computations in a
program through
code tracing and
assess whether
those make sense.
Individual Tracing
and Debugging
Exercise
DTE
Laboratory
Exercises
LEX, CFE, CDE
Correct the mistakes
in the source code if
there are.
CO1, CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
record structures.
Savitch
Koenig and
Moo
Apply correct coding
style on the
formulated solutions.
CO1
Explain how linked
lists are represented
in memory and how
data stored in it are
accessed.
Design record
declarations that will
effectively capture
data using linkedlists.
Compare and
contrast array of
records from linkedlist of records with
Deitel and
Deitel
Linked list and
Applications
weeks
14-17
Lecture
Demonstration
Board Work
Course
Outcome
Intended Learning
Outcomes (ILO)
Topics
Week
Learning
Activities
Assessment
Activities
Paired Student
Tracing and
Debugging
Exercise
DTE
Laboratory
Exercises
LEX, CFE, CDE
References
emphasis on
advantages and
disadvantages of
each structure.
CO3
Analyze the data
movements and
computations in a
program through
code tracing and
assess whether
those make sense.
Correct the mistakes
in the source code if
there are.
CO1, CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
linked list.
Deitel and
Deitel
Savitch
Koenig and
Moo
Apply correct coding
style on the
formulated solutions.
CO1
Explain how text files
are created,
updated, and deleted
through a software
developed using a
general purpose
programming
language.
Text Files
Lecture
Demonstration
week
18
Demonstrate the use
of text files in
designing solutions
to solve specific
computing problems.
CO1, CO2
Formulate correct
solutions to 5
laboratory
programming
exercises involving
text files.
page 9
OBE - COURSE SYLLABUS
Laboratory
Exercises
LEX, CFE, CDE
Deitel and
Deitel
Savitch
Koenig and
Moo
Course
Outcome
Intended Learning
Outcomes (ILO)
Topics
Week
Learning
Activities
Assessment
Activities
References
Apply correct coding
style on the
formulated solutions.
Final Exam
REFERENCES:
1.
2.
3.
Deitel and Deitel, C++ How to program, 7th Edition, (c) 2010 by Pearson Education.
Walter Savitch, Problem Solving with C++: The Object of Programming, 4th Ed, (c) 2003 by Pearson
Andrew Koenig and Barbara E. Moo, Accelerated C++: Practical Programing by Example, Addison Wesley, (c) 2000 by AT&T,
Inc. and Barbara E. Moo.
CLASSROOM POLICIES:
The provisions articulated in the Student Manual regarding uniform, absences, and late exams apply.
10