SULLIVAN UNIVERSITY COMPUTER
SCIENCE DEPARTMENT
COURSE
SYLLABUS
CSC 321 PERL Programming
INSTRUCTOR: WJ Patterson OFFICE
HOURS: 8:00a-12:00p, Fri
EMAIL: wjpatterson@sullivan.edu
or by appointment
PHONE: 456-6504 (University Office) http://www.iolky.com/wjpatterson/home.htm
I. COURSE DESCRIPTION
PERL, the Practical Extraction and Report Language, is a
popular language used by system administrators, Web site developers and
database specialists. It is considered the de facto standard language for
writing dynamic, interactive web pages. In this hands-on course you will learn
basic PERL program structure, syntax, data types, flow control and file
handling. You will create functional PERL programs as well as examine sample
applications. Although this class is taught in the WINDOWS environment, PERL is
a very portable language, which can run on UNIX, DOS and Linux.
Prerequisites
CSC 110, CSC 230
II. COURSE OBJECTIVES
Upon successful completion of this
course, the student will be able to:
1.
Students will possess a firm understanding of the PERL programming
language.
2.
Students will be able to write simple scripts, and programs of moderate
complexity.
3.
Student will be familiar with all of the common features of PERL, as
well as practical usages for the
language.
4.
Students will be able to create CGI programs for use with the World Wide
Web.
5. Students will have a good
understanding of Scalars, Hashes, Arrays, File Handles & File
tests.
6.
Students will understand how PERL is used to access, maintain and
manipulate a database.
Note: Refer to the Course Skills
List for specific topics included in this course.
III. REQUIRED
TEXT
PERL, How to Program, Deitel, Deitel, Nieto & McPhie, Prentice Hall, ISBN-0-13-028418
IV. COURSE
OUTLINE
Following is a tentative course outline
for the course.
Week 1: Chapter 1 Introduction to Computers, The Internet & the Web.
Review CSC 105, CSC 230
Chapter 2 Introduction to Programming in PERL
(Problems 2.7,
2.10, 2.13)
Week 2: Chapter 2 Continue
Chapter 3 Control Structures I
(Problems 3.10, 3.11)
Week 3: Chapter 3 Continue
Chapter 5 Control Structures II
(Problems -
Handout)
Week 4: Chapter 5 Continue
Week 5: Chapter 4 Arrays and Hashes
(Problems 4.8)
Mid Term Exam
Week 6: Chapter 6 SubRoutines
and Functions
Problems (6.5, 6.6)
Week 7: Chapter 7 Introduction to CGI
(Problems 7.5,
7.6)
Week 8: Chapter 8 Regular Expressions
(Problems 8.5,
8.6)
Week 9: Chapter 9 String Manipulation & Chapter
10 File Processing
(Problems
10.5, 10.6)
Week 10: Chapter 15 Databases-SQL and PERL Database
Interface
(Problems
15.3, 15.4)
Week 11: Final Exam
V. ATTENDANCE
POLICY
Day
Division
Class attendance and punctuality are essential to the learning process. Attendance will be recorded daily. Any student entering the classroom late - 5 minutes or more after class has begun - will be marked tardy. The accumulation of 2 tardies will be counted as one absence. Any student accumulating 8 absences during the quarter may be dropped from the class.
Evening
Division
Class attendance and punctuality are essential to the learning process. Attendance will be recorded at the beginning of each class. Any student entering the classroom late - 15 minutes or more after class has begun - or leaving before class has been dismissed, will be marked tardy. The accumulation of 4 tardies will be counted as one absence. Any student accumulating 4 absences during the quarter may be dropped from the class.
Note: Refer to the Student
Handbook for complete details of the Sullivan College Attendance Policy.
VI. STUDENT DRESS CODE / PROFESSIONAL DRESS
DAY
The
Note: Refer to the Student
Handbook for complete details of the Sullivan College Dress Standards.
VII. ACADEMIC DISHONESTY
to plagiarize is to;
w steal and pass off (the ideas or words of another) as one's own;
w use (a created production) without crediting the source;
w to commit literary theft;
w present as new and original an idea or product derived from an existing source.
Note: Refer to the Student
Handbook for complete details of the
VIII. COMPUTER LAB POLICY / HOURS
Computer Science Tutors are available for all students
Monday - Thursday afternoon between
Consult the Student Scene or Night Scene Newsletter for daily schedules,
or ask your instructor for more information.
Computer labs will be available
daily to students during the following hours:
Monday
- Thursday............
Friday
& Saturday..............
Sunday..............................
Students are encouraged to use the computer labs
when classes are not in session during the day, and at the following times:
Monday
- Thursday.....................
Friday, Saturday
& Sunday.......... some labs
available all day
When a class is in session,
students may use any computer not used by a student in the class, as long as
the scheduled class is not disrupted.
The following rules apply during these times:
ุ
Do not enter a computer lab while an
instructor is lecturing to the class.
ุ
Do not ask the instructor for
assistance with an assignment or project.
ุ
Sit in the back of the room, if possible.
ุ
Allow students in the scheduled class to use their
choice of computer.
ุ Notify
the instructor if you are having a computer hardware problem.
** Food and drinks are NOT
allowed in any carpeted area of the building**
*********************************
It is a Class C
felony in the State of
* Changing the
"Welcome to
* Changing any
desktop setting or windows setting unless part of a class assignment
* Loading personal
programs or games on a computer
* Intentionally
modifying files not specifically assigned as part of a class assignment
* Using any computer
for personal reasons
*********************************
IX. EVALUATION
Quarter grades will be
based on the schedule shown below.
GRADING SCALE:
A
= 90 - 100
B
= 80 - 89
C
= 70 - 79
D = 60 - 69
F
= below 60
Note: This is a core course of the Computer Science Department. A grade
of C or better is required for successful completion for any Computer Science
student.
X. OTHER COURSE
INFORMATION
1)
This course consists of lectures and programming
labs and other assignments that are designed to reinforce the theory covered in
the lectures. Although hands-on tasks
will be used during some lectures, most lab assignments must be completed outside
normal class meetings.
2) Your grade in this course will be made up of four (4) exams
evenly spaced over the course and lab assignments.
Tests 80%
Lab Assignments 20%
3) Attendance is required for this course. Any absence excused or unexcused still counts
as one absence. After you have
accumulated 4 absences, you will be dropped from this course.
4) Students are expected to take exams as they are
scheduled. An excused absence may be
granted by the instructor in special situations in order for a student to take
a make-up test. Unexcused absences will
cause the exam to be a zero grade. All
make-up tests will be given the following week in class unless the instructor approves an
alternate test date. A missed test must
be made up within one week of the original exam date. Any missed exam that is
not taken one week after the original date will result in a score of zero for
that exam. Any student missing an exam MUST
contact the instructor before the exam is given to apprise the instructor
of the circumstances forcing you to miss the exam. Failure to notify the
instructor results in the absence being unexcused.
5) All lab assignments will be introduced during class and will
have a specific due date. They will be
due at the beginning of the class meeting on the due date. All assignments are to be submitted through
e-mail attachments unless otherwise stated. Late assignments will not be
accepted. Absence from class does not
excuse late assignments.
6) The student is responsible for keeping backup copies of all
lab assignments. This is to protect the
student from having to recreate a lab assignment due to the loss of the lab
assignment through e-mail or other problems that may arise.
7) I have no objection to students helping other students on
lab assignments. In fact it is
encouraged. However, work turned in by
the student should be his/her own work.
If you do assignments together, you must clearly indicate that you
worked together. Otherwise, this is
cheating and will be treated as such and the offending student will be subject
to University disciplinary action.
8)
Students must take responsibility for their own
actions. If you are having trouble
completing assignments, please tell me immediately. Please do not wait until the day work is due
to tell me you had problems understanding it or getting started. Getting behind is a sure way to be
unsuccessful in this course. The
material continually builds on itself.
Once you are behind, you will get further behind exponentially.
CSC321 WEB CGI PROGRAMMING -- STUDENT LEARNING OUTCOMES
After successful completion of this course, the
student will be able to demonstrate the following skills:
UNDERSTAND PERL PROGRAMMING
q Use
simple PERL Input/Output statements
q Work
with fundamental data types
q Work
with arithmetic operators in PERL
q Work
with arithmetic precedence in PERL
q Create
assignment operators in PERL
q Understand
increment/decrement in PERL
DESIGN PERL CONTROL
STRUCTURES
q Develop
IF, IF/ELSE, IF/ELSIF/ELSE
q Develop
WHILE, UNTIL, DO/WHILE/DO/UNTIL LOOPS
q Develop
FOR/EACH loops
q Develop
NEXT,LAST,REDO loop controls
q Use
BLOCKS & BLOCK LABELS
q Use
DIE & WARN to text for errors
WORK WITH PERL ARRAYS & HASHES
q Use
lists
q Initialize
and refer to elements in an array
q Use
functions for manipulating lists & arrays
q Develop
hash data structures
q
Use functions for manipulating hashes
CREATE SUBROUTINES & FUNCTIONS
q Construct
programs modularly
q Create
new subroutines and functions
q Pass
information between subroutines
q Work
with scope of variables
q Write
subroutines that call themselves
UNDERSTAND CGI
PROGRAMMING
q Design
code using the CGI protocol
q Design
code using the HTTP protocol
q Send
input to CTI scripts using HTML forms
q
Use CGI.PM to generate HTML, create forms, and read
input
WORK WITH REGULAR EXPRESSIONS
q Work with regular
expressions
q Work with matching
& substitution operators
q Work with regular
expression modifiers
q
Work with alternation, quantifiers & assertions
UNDERSTAND STRING MANIPULATION
q Describe
the differences between PERLs string types and quote
operators
q Work
with HERE documents
q Work
with string operators such as SUBSTR, LC, UC, INDEX, JOIN,
q Use
PRINTF and SPRINTF to format output
WORK WITH PERL DBI
q Use
PERL to retrieve data from a database
Manipulate a database using