CourseSyllabus-ITCP102LerCAVersionRev02

advertisement
WEST NEGROS UNIVERSITY
PROGRAM
SY 2013 – 2014 / 1ST SEMESTER
THE LERCA SYLLABUS
Course Title
Computer Programming 1: Fundamentals of Programming & Logic
Formulation
Course Code
ITCP 102
Professor
JUVANI C. DE LOS SANTOS
Contact Details
jvn2k5@hotmail.com
+639292203765
Course Credits
Consultation schedule
3 UNITS
2:00 – 4:00 PM Fri
THE LINKS
Link to the Envisioned WNU Graduate
The course will enable a WNU graduate practice basic-yet-competitive skills in C/C++ language
programming in his/her future workplace or environment by providing and requiring them with
practical examples and exercises.
Link to the Envisioned Degree Holder
The course will equip a BSIT graduate with the ability to teach and demonstrate basic computer
programming skills in C/C++.
Horizontal Link
The course will supplement/complement what they will simultaneously learn from ITFL 101 (IT
Fundamentals with Office Productivity Tools). The course uses correct mathematics operations and
functions they must have been learning in Math 110 (College Algebra).
Vertical Link
The learning from this course will serve as foundation to the next computer programming course,
which is ITCP 103 (Computer Programming 2: Advanced Programming Techniques).
1
COURSE DESCRIPTION
Programming and Logic Formulation 1 is part of the BSIT program to establish basic programming
and logical skills, which is foundational and pre-requisite to Programming and Logic Formulation 2
and supplementary/complementary to IT Fundamentals with Office Productivity Tools and College
Algebra.
The course introduces the basic concepts and elements of a computer programming language and
guides the development of a corresponding computer program based on a particular problem. It
includes discussion on I/O statements, loop, and branching instructions, and creating functions and
procedures using C/C++ Language.
At the end of the course, the student is now a computer programmer in C/C++ language applying
the art and style of procedural programming to solve computational problems adhering to the standards
and guidelines of documentation.
COURSE INTENDED LEARNING OUTCOMES
Upon successful completion of the course, the students are expected to:
1. Recognize the basic (program) control structures.
2. Properly evaluate an expression, identify and classify the primitive data types and
commonly-used functions in C/C++ language, and appropriately use built-in basic I/O
functions and program statements.
3. Construct the general form/format/syntax of a C/C++ program based on applicable
program design technique/paradigm.
4. Follow the fundamental, logical, related, and sequential steps in the Program Development
Life Cycle (PDLC) and adhere to standards and guidelines of documentations.LO1
5. Declare variables, and define and call user-defined functions and macros (in a program)
according to correct syntax using an IDE (Integrated Development Environment).
6. Write, encode, save, compile, and execute a computer program/programming project(s) in
C/C++ language on a given computational problem integrating the concepts and principles
learned in this course.IL
2
COURSE INTENDED LEARNING
OUTCOMES
COURSE CONTENT
LEARNING
EXPERIENCE
ASSESSMENT
TASKS
Interactive Lecture:
Students will be
required to have an
advance
reading/research on
the indicated topic
outline and contents
and then share what
they got in a
focussed discussion.
Oral Recitation,
Boardwork,
and/or
Seatwork
I. Introduction to Program &
Upon successful completion of
this lesson, the students will be
able to:
Recognize the basic (program)
control structures.
Upon successful completion of
this lesson, the students will be
able to:
Properly
evaluate
an
expression,
identify
and
classify the primitive data
types and commonly-used
functions in C/C++ language,
and appropriately use built-in
and basic I/O functions and
program statements.
Construct
the
general
form/format/syntax of a C/C++
program based on applicable
program
design
technique/paradigm.
3
Programming
A. Definition of a Computer
Program
B. Definition of Computer
Programming and
Algorithms
C. Basic Program Control
Structures
1. Sequence
2. Condition(Selection)
3. Loop(Repetition)
II. Program Elements of C/C++
Language
A. Identifiers & Naming
Conventions
B. Operators & Their
Precedence
1. Arithmetic
2. Relational & Logical
3. Bitwise
C. Data Types in C/C++
D. Constants & Variables
E. Program
Statements/Functions
1. Basic Input & Output
a. printf()/cout
b. scanf()/cin
2. Simple(Sequential
3. Conditional
4. Repetitive
5. C/C++ Built-in Functions
F. Structure of a C/C++ Program
G. Programming Paradigms and
Software Design Techniques/
Methodologies
1. Spaghetti Coding
2. Modular Design
3. Object-Oriented
Programming (OOP)
4. Rapid Application
Development (RAD)
Interactive Lecture:
Students will be
required to have an
advance
reading/research on
the indicated topic
outline and contents
and then share what
they got in a
focussed discussion.
Workshops:
Students will be
given sample
applications they
must implement
within an IDE.
Quiz on
evaluating an
expression and
hand-written
making of a
program code
and Computerbased
Assessment via
Program
Making
Prelim Exam
Upon successful completion of
this lesson, the students will be
able to:
Follow
the
fundamental,
logical, related, and sequential
steps
in
the
Program
Development Life Cycle (PDLC)
and adhere to standards and
guidelines of documentations.
III. Program Development (Life)
Cycle
A. Pre-Programming Phase
1. Problem Identification/
Definition/Specification.
2. Problem Analysis
a. Specification of
Output, Input and
Processes
Required
3. Formulation of the
Algorithm
4. Program Design
(Development of
Pseudo-code, Flowchart,
Decision Table, and/or
Hierarchy Chart
B. Programming Phase
Writing the Program Code
C. Post Programming Phase
1. Testing & Debugging
2. Documentation
a. Technical
b. Non-Technical
Inquiry Learning:
Students will be
given down-to-earth
programming
problems to come
up with a properlydocumented
programs by
following the
Program
Development Life
Cycle.
Workshops:
Students will be
given sample
applications and
down-to-earth
programming
problems they have
to program and
implement within an
IDE.
Quiz on
developing a
properlydocumented
program based
on a given
down-to-earth
programming
problem
and
Computerbased
Assessment via
Program
Making
Midterm Exam
Upon successful completion of
this lesson, the students will be
able to:
Declare variables, and define
and call user-defined functions
and macros (in a program)
according to correct syntax
using an IDE (Integrated
Development Environment).
Write, encode, save, compile,
and execute a computer
program/programming
project(s) in C/C++ language
on a given computational
problem integrating the
4
IV. Introduction to C/C++
Programming and Its
Environment.
A. Formal Introduction to
Turbo/Borland C/C++ IDE
B. Syntax in Declaring a
Variable in C/C++
C. The Preprocessor Directives
1. #include
2. #define
D. The Global Declarations
1. Global Variables
2. User-Defined
Functions
E. The main() function
F. Syntaxes in Declaring,
Defining and Calling a
Function
Focusing Inquiry
based on the
questions:
How do you declare
a variable in C/C++?
What are required
and optional entries
in the structure of a
C/C++ program?
How do you define
and call a userdefined function?
How to pass
parameters to a
function?
Seatwork and
Computerbased
Assessment via
Program
Making
concepts and principles
learned in this course.
G. Passing parameters
(arguments) to a function.
H. The Exit statement.
I. Scope of Variables and
Rules of Scope.
J. The Available String and
Math Functions in C/C++
What is the use of
EXIT statement?
How do you classify
variables according
to scope?
What are the
available String and
Math functions in
C/C++?
Workshops:
Students will be
provided with
several appropriate
applications, then
programming
exercises they must
implement within an
IDE.
Pre-Final Exam
Upon successful completion of
this lesson, the students will be
able to:
Write, encode, save, compile,
and execute a computer
program/programming
project(s) in C/C++ language
on a given computational
problem integrating the
concepts and principles
learned in this course.
V. Introduction to Arrays
A. Defining an Array.
B. Examples Using Arrays.
C. Sorting Arrays.
D. Searching Arrays.
E. Declaring an Array.
F. Passing Arrays to
Functions.
G. Basic Sorting Techniques.
H. Multi-dimensional Arrays
Workshops:
Students will further
be required to work
on advanced
applications infusing
arrays.
Computerbased
Assessment via
Program
Making.
Final Exam
ASSESSMENT SCHEME
Assessment Task
Assigned weight (%)
ILO Major Focus
Assignments/Seatworks/Boardworks/
Recitations
10
ILO1, ILO3, ILO6
5
Project/Requirement
15
ILO5, ILO6
Laboratory Exercises
15
ILO2 - ILO6
Quizzes
20
ILO2 - ILO5
Periodic Examinations
40
ILO2 - ILO6
LEARNING RESOURCES
ILO
Required Readings
Recommended Readings
Computer Fundamentals and Logic
Formulation 2nd Edition © 2011 by
Joyce Farrell, Greg Anderson, David
Ferro, Robert Hilton & Charles Roth
Jr.
Logic Design Fundamentals © 2011 by Charles H.
Roth, Jr. & Larry L. Kinney
ILO1 – ILO3
ILO4 – ILO6
http://www.bfoit.org/itp/Programming.html
http://en.wikipedia.org/wiki/Computer_program
http://www.landofcode.com/programming-intro/what-iscomputer-programming.php
http://www.scribd.com/doc/21241035/ProgramDevelopment-Life-Cycle
http://www.scribd.com/doc/2451377/FlowchartProgramming
http://www.scribd.com/doc/17129489/Flow-ChartingFundamentals
Foundations of C Programming © 2011 by
Behrouz A. Forouzan & Richard F. Gilberg
http://www.landofcode.com/programmingintro/computer-programming-concepts.php
http://www.landofcode.com/programmingintro/computer-programming-languages.php
http://www.landofcode.com/programming-intro/sourcecode.php
http://www.landofcode.com/programming-intro/writingcomputer-programs.php
http://www.youtube.com/watch?v=t65Ex_qiLeM
http://www.engr.sjsu.edu/bjfurman/courses/ME30/
ME30pdf/week3_control_structures.pdf
An Introduction to Programming with C++ 5th Edition ©
2008 by Diane Zak
Introduction to Programming with C++ ©
2011 by Diane Zak
Introduction to C++ Game Programming © 2010 by
Michael Dawson
C++ for Engineering and Computer Science © 2009 by Gary
J. Bronson
6
C++ Programming: Problem Analysis to Program Design
(Lab. Manual) © 2011 by Judy Schooll & Gerard Nugent
http://www.cprogramming.com/tutorial.html
http://www.spinellis.gr/codereading/spinellisch02.pdf
http://www.youtube.com/watch?v=HpSmsizyuM4
http://www.youtube.com/watch?
feature=endscreen&v=TV0MtxZMrGw&NR=1
http://www.dreamincode.net/forums/topic/86751-userdefined-function/
http://www.dreamincode.net/forums/topic/86861-userdefined-functions/
http://programming59.blogspot.com/2011/07/function-inc-language.html
http://www.codeproject.com/Articles/83080/DynamicThree-Dimensional-Arrays-in-C-C-C-Java
http://www.tenouk.com/Module7.html
http://augustcouncil.com/~tgibson/tutorial/arr.html
http://www.mycplus.com/tutorials/data-structures/arraysc-cpp-programming/
http://programmingtechnique.blogspot.com/2011/08/difference-betweenarrays-and.html
http://en.wikipedia.org/wiki/Sorting_algorithm
COURSE POLICIES
1. The course is a pre-requisite to ITCP 103, which is regularly offered the next semester (i.e.,
second semester of the academic year). It requires a minimum of grade of 3.5, which is
equivalent to 75%.
2. There are four Periodic Exams, namely: Prelim, Midterm, Pre-Final and Final.
3. A set of laboratory exercises must be completed and compiled individually.
4. An individual project or final requirement is necessary.
5. Notes must be written on a separate notebook.
6. Absences must not exceed 18 hours for the entire semester.
7. A removal or remedial exam may be offered, if necessary.
8. Participation in class discussion or work is encouraged with incentives.
9. An Integrated Development Environment (i.e., Turbo C/C++, Borland C++, or CodeBlocks) is
recommended to be used.
10. A student should save his/her computer programs in a folder, bearing his/her own name, on
drive D and should copy the same on his/her flash drive.
11. It is the responsibility of each student to secure and protect his/her laboratory exercises and
requirements from deliberate and accidental deletions.
12. Only the prescribed software tools will be used during laboratory sessions.
13. Each student is designated a particular computer unit during laboratory sessions throughout the
entire semester.
7
COURSE CALENDAR
SESSION
DATES
Prelim:
Week 1
1
MODE
Face-to-face /Online
TOPIC/ACTIVITIES
Face-to-Face
Introduction to Program and
Programming/Advance
Reading/Research, Focussed
Discussion, and Oral
Recitation, Seatwork, and/or
Boardwork.
Program Elements of C/C++
Language/ Advance
2-4
Weeks 2 to 4
Face-to-Face and Online
5
Week 5
Face-to-Face
Prelim Exam
6-9
Midterm:
Weeks 6 to 9
Face-to-Face and Online
Program Development (Life)
Cycle/Inquiry Learning and Quiz.
Reading/Research, Focussed
Discussion, and Quiz.
10-13
Pre-Final:
Weeks 10 to 13
Face-to-Face and Online
Introduction to C/C++
Programming and Its
Environment/Focusing Inquiry,
Seatwork and Laboratory Works.
14
Week 14
Face-to-Face
Pre-Final Exam
15-17
Final:
Weeks 15 to 17
Face-to-Face and Online
Introduction to
Arrays/Laboratory Works
18
Week 18
Face-to-Face
Final Exam
Prepared by:
Juvani C. De Los Santos
Checked by:
Ms. May S. Cuaycong
BSIT/BSCS Program Coordinator
8
Download