HIP* - For office use Only DGL
FYS WI SL
CIE CA CBL
LC UR CAP

Course Syllabus
Fall 2016 CpSc 317:  Scripting Languages 
Instructor: Dr. David Dailey

Meeting Time:

Section 01: 3:00 - 3:50  - MWF

Meeting Place: AT&SH 224

Instructor's Office Hours: MWF 8 - 9, WF 10-11 or by appointment

Instructor's Office location: ATSH 248

Instructor's e-mail addressdavid.dailey@sru.edu

Course Description:  This course emphasizes programming using scripting languages for the purpose of collecting and manipulating system information by system administrators and managers. Programming concepts such as data types and control structures will be discussed as well as operating system commands. A variety of languages and utilities will be discussed such as the Bourne shell, Perl, awk, and the Common Gateway Interface. The student is expected to have programming experience and knowledge of the Unix and PC environments.

Prerequisites:  CpSc 207, CpSc 217 (yes, there is a reason for this!)

Recommended text: Essential PHP for Web Professionals - Christopher Consentino, Prentice Hall

Required reading: Class web page found at http://srufaculty.sru.edu/david.dailey/cs317/index.htm

Computing labs: The class will primarily use equipment provided in the classroom; other machines on campus may be used as well.

Software used:

Microsoft Windows
Linux and possibly X-windows 
Web-browsers: recent versions of Firefox and Internet Explorer
Web-authoring software:  HTMLKit or Notepad++ or others.
Web server software: Apache (possibly others)

Use of e-mail software is also required for most assignments (see below, under Assignments and tasks).

Method of determining final grade: Regular assignments: 35%; two quizzes,  each worth 20%; one final project: 25%, due at beginning of last class meeting.

Note: Dr. Dailey is the instructor of record for this class.  Only the instructor of record can properly grade coursework and issue midterm and final grades.

Final exam: (based on http://www.sru.edu/Documents/academics/academic-services/academic-records/10035%20Fall%20Final%203-2016.pdf?1471884280700)

Friday December 16th,  1 - 3 pm

Attendance policy:  See Slippery Rock University's Attendance Policy

Late work: Any homework that is turned in late must contain the word LATE at the end of the subject line in e-mail. The grade on an assignment will be dropped by 10% for each week it is late. Assignments more than three weeks late are not accepted. 

Make-up exams: It is the student's responsibility a) to notify the instructor beforehand if he or she must miss an exam due to illness, or family emergency and b) to take the initiative in finding a time suitable to the instructor for a make-up exam. Make-up exams should be scheduled within one week following the original exam date.

Academic Integrity: All academic work for this course must consist of your own work. See the University's statement on Academic Integrity . Though it remains the student's responsibility to read and understand the University's expectations here, I wish to emphasize the following excerpts from that statement:

"It is expected that students engage in the following pre-emptive behaviors:

The fact that this course is in Computer Science does not lessen the student's responsibility to make sure that work submitted for a grade is his or her own work. Again, from the University's statement on Academic Integrity:

The University gives many examples of academic dishonesty, including:

size="2"> Note that the University's statement on Academic Integrity also includes language pertaining to Intellectual Property law:

This is particularly relevant in computer science. Using someone else's code or programs is contrary to university policy and, in many cases, contrary to US and/or international law.

Assignments and tasks: Each assignment will be explained in class. Any uncertainties students may have about an assignment should be raised at the time the assignment is made. Students will be required to use e-mail for certain assignments; assignments submitted via e-mail must follow the guidelines explained in class.

Several homework assignments will be given during the semester. Unless otherwise stated, these assignments are to be completed individually by each student. Students may be called upon to present and explain their work to the class or to the instructor and should be consistently and adequately prepared to do so.

As the semester progresses, additional details about assignments may be found on the class web page.

Tentative Schedule of Topics  The timeline for this course will need to be adjusted for severe weather events or other unforeseen circumstances. The instructor reserves the right to change the topics covered or the order in which they are covered at his/her discretion. 

Assignments shown may vary. Refer to lecture notes and/or course web-site for details.

Week 1 -- Class introduction and review of JavaScript.

Assignment: verify e-mail, Windows, and Linux accounts..

Week 2 -- JavaScript: dynamic rewrite, .js files.string processing

Week 3 --  Review of  UNIX: basic commands, parameters, devices, scripting.  

Week 4 -- Review of  UNIX: basic commands, parameters, devices, scripting.  

Weeks 5 & 6 --   Server-side UNIX shell scripts. Passing variables through the URL. Probable time for first quiz.

Week 7 --CGI, methods get and post, reading and writing server files.

Week 8 --More with cgi.

Week 9 -- Beginnning PHP.

Weeks 10 - 13 -- SVG and more with PHP and SVG

Weeks 14 & 15 --  more SVG; Final projects.

---------------------------------

CPSC 317 - Scripting Languages

Catalog Description

This course emphasizes programming using scripting languages for the purpose of collecting and manipulating system information by system administrators and managers. Programming concepts such as data types and control structures will be discussed as well as operating system commands. A variety of languages and utilities will be discussed such as the Borne shell, Perl, awk, and the Common Gateway Interface. The student is expected to have programming experience and knowledge of the Unix and Windows environments.

Prerequisites: CPSC 207 and CPSC 217 (3 credits)

Course Outcomes

This course and its outcomes support the Computing Learning Outcomes of Problem Solving and Critical Thinking (PS&CT) and Communication and Interpersonal Skills (C&IS). These Computing Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving and Communication.

Program Objectives Assessed in CPSC 317

Learning OutcomesAssessed Course Objectives
PS & CT d. Implement computing solutions that consist of system and application software written in various programming languages1. Select among available scripting languages and utilities for the most appropriate language and integrate with markup languages.
PS & CT e. Create efficient, user-friendly applications appropriate to the computing problems
C & IS c. Devise effective user interfaces based on the application2. Write self-documenting code with an appropriate user interface that meets the style requirements for readability and usability
C & IS b. Use written, oral, and electronic communication to convey technical information effectively3. Oral presentation to convey scripting language features.

Additional Course Objectives include:

The student will be able to:

  1. Integrate scripts with programming languages.
  2. Use scripting languages to collect, manipulate, and store data from Web applications.
  3. Write scripts that allow users to retrieve data from shared repositories.
  4. Identify the concerns related to the security, privacy, and integrity of data.

Title IX: Slippery Rock University and its faculty are committed to assuring a safe and productive educational environment for all students. In order to meet this commitment and to comply with Title IX of the Education Amendments of 1972 and guidance from the Office for Civil Rights, the University requires faculty members to report incidents of sexual violence shared by students to the University's Title IX Coordinator. The only exceptions to the faculty member's reporting obligation are when incidents of sexual violence are communicated by a student during a classroom discussion, in a writing assignment for a class, or as part of a University-approved research project. Faculty members are obligated to report sexual violence or any other abuse of a student who was, or is, a child (a person under 18 years of age) when the abuse allegedly occurred to the person designated in the University protection of minors policy. Information regarding the reporting of sexual violence and the resources that are available to victims of sexual violence is set forth at: http://www.sru.edu/offices/diversity-and-equal-opportunity/sexual-misconduct-and-victim-resources.