MANSFIELD UNIVERSITY
CIS 2206 COURSE SYLLABUS

revised 8/26/2006

GENERAL INFORMATION

Course number: CIS 2206
Credit/Contact hours: 3
Term: Fall, August 29 - December 14, 2006
Course title: Business Programming Concepts I
College website: www.mansfield.edu

INSTRUCTOR INFORMATION

Instructor name: John Phillips
Instructor office location: Elliott 205 C
Instructor office hours: online at http://faculty.mansfield.edu/jphillip/
Instructor office telephone: 570-662-4554
Instructor e-mail address: jphillip@mansfield.edu

COURSE INFORMATION

Course Description

An introduction to analyzing and designing solutions to business-related problems using a business programming language. Client-server database programming is the primary focus of this course. Topics covered include UNIX / Linux, HTML, one or more server-side programming languages, a client-side programming language, database fundamentals, software documentation, technical report writing, presentation basics, and the ACM Code of Ethics.

Prerequisite: CIS 1104

Textbooks

Sams Teach Yourself Perl in 21 Days (2nd Edition), Laura Lemay, 2002, Sams Publishing, ISBN: 0672320355. Note that the older first edition book will not work for this class.

Technical Writing in the Corporate World, H. Estrin and N. Eliot, 1990, Course Technology, ISBN: 1560520043.

Joel on Software, Joel Spolsky, 2004, Apress, ISBN: 1590593898.

Course Website

http://www.mnsfld.edu/blackboard.cfm for syllabus, notes, assignments, and the class discussion board

Course Outline

  1. ACM Code of Ethics and Professional Conduct
  2. Software Development Life Cycle (SDLC)
  3. The UNIX / Linux work environment
  4. Server-side programming languages (Perl and Java)
  5. Regular expressions
  6. The HyperText Markup Language (HTML)
  7. Client-side programming using JavaScript
  8. The Structured Query Language (SQL database commands)
  9. Building Internet-based business solutions using HTML, server-side programming, client-side programming, and an SQL database
  10. XHTML, CSS, XML, Ajax, and other web standards
  11. Technical report writing topics
  12. Program documentation best practices
  13. Presentation topics
  14. Teamwork and professional/community service topics

Learning Outcomes

At the end of the course the student will be able to:

Class schedule

TuTh 11:00 AM – 12:15 PM in Elliott 206

Equipment and supplies

Access to the Internet is required either using your own computer or by using a computer in the school's computer lab. Presentation materials and other supplies may need to be purchased for your project. You should keep at least 2 separate backup copies of all work you do on a USB key, diskettes, or other suitable media.

Grading scale and policy

For subjectively graded assignments such as program style and quality, essay questions, reports, or projects, work that meets the stated requirements will in general earn a C grade. Work that goes beyond the basic requirements will in general earn anywhere from a C+ to a B grade. Work that is very good and exceeds the instructor's expectations will in general earn a B+ or A- grade. Only the most outstanding work will earn an A grade.

(Refer to the Mansfield University Catalog for grades that can be awarded.)

A >= 90%
B >= 80%
C >= 70%
D >= 60%
F < 60%

In addition, the instructor may choose to further differentiate grades with plus and minus subdivisions as outlined in the catalog.

Course Item

% of Grade

Quizzes

20

Assignments

20

Programming project report and presentation

20

Service-oriented team project report and presentation

10

Final Exam

30

Quizzes are typically unannounced closed book and timed although an occasional open book and/or open notes quiz may be given. Electronic devices such as laptop computers, calculators, and cell phones may not be used during a quiz. Neither early quizzes nor late quizzes nor makeup quizzes will be given, however, your 2 lowest quiz grades will be dropped to allow for any unavoidable or excused absences.

Assignments will be announced in class and/or posted online on Blackboard. Assignments must be completed within the specified time frame or late points will be taken off. You may help each other figure out a problem when you get stuck but you should do most of the work yourself. I strongly recommended that you first try to solve all problems yourself. If you get help solving a problem then try to solve it again from scratch the next day to make sure you really understand it. This will help better prepare you for quizzes and the final exam.

The client-server database programming project is a substantial part of the student grade. Therefore, a very high quality product will be required. Grading will be based on the program design and implementation, level of difficulty, written documentation and report, oral presentation, organization, and overall level of quality.

You will have several service projects to choose from where you will work as part of a team to solve a department, school, or community CIS-related problem. You will document your service project with a report and presentation.

The final exam will be comprehensive, closed book, and timed. Electronic devices such as laptop computers, calculators, and cell phones may not be used during the exam.

Late project / exam policy

A late assignment, project, report, presentation, or final exam will automatically lose one letter grade unless it is an unavoidable officially excused and documented emergency absence. No work other than the final exam will be accepted after the last day of classes.

Instructor's expectations

This course places an emphasis on out-of-class experimentation, research, and programming. You will need to go beyond the textbook and draw from the extensive resources available on the Internet and within the MU library. You will need to spend a large amount of time exploring the lecture topics covered in a hands-on environment, either on your own computer or in the computer lab.

Methods of instruction

Material will be presented in lecture format. You are expected to read the assigned material prior to the lecture. Quizzes may be given to verify you have read and studied the assigned readings. Feel free to ask questions on any material you need clarified during the lecture.

Unique requirements of the course

This course requires previous programming experience in a language such as C, C++, or Java. We will cover the basics of client-server programming very quickly. Considerable outside of class time will be required to complete the assignments and projects!

Attendance

If a student must miss a class due to documented illness or other excusable reason, the student must:

In order to avoid prolonged delay of make-up of the work, a faculty member may, at her/his discretion, give the make-up work and hold it for grading until after the written excuse is received.

Note that make-up quizzes will not be given in this course. Instead, the two lowest quiz grades will be dropped to cover excused absences.

Bad Weather / Instructor Illness Policy

On days that we have icy or snowy weather, the instructor may choose to hold class on-line. This will be announced online on Blackboard. Likewise, should the instructor be sick, please check Blackboard for assignments and/or alternative online class activities.

Academic Integrity

Feel free to help each other solve problems encountered on the assignments. Browse other students' posted work, on-line web sites, and other books for ideas. However, do be careful; if you copy another's work and you do not give credit for it that is plagiarism. In general, any computer files you submit should contain your own work and not someone else's. It would be especially bad to copy another student's work and then make a few changes to it and submit it as your own. Please do not do this. If you are in doubt then discuss the situation with your instructor.

Syllabus statement for students who may have “exceptionalities:"

Any students with documented psychological or learning disorders or other significant medical conditions that may affect their learning should work through Mr. William Chabala in our Counseling Center (101 Hemlock Manor, Phone: 662-4695; e-mail wchabala@mnsfld.edu) to provide me with the appropriate letter so that I may serve their particular needs more effectively. If you have an exceptionality that requires class or testing accommodations, Mr. Chabala will work with us to identify and implement appropriate interventions.

Withdrawal Policy for Individual Courses

The last day to withdraw from this course with a "W" grade is published in the Academic Calendar. It is the responsibility of the student to complete and submit the necessary forms to the Registrar's Office. An official withdrawal would entitle the student to a grade of "W" in the course.

Syllabus Change Policy

The instructor reserves the right to make changes to this syllabus and course timeline as the course progresses.


COURSE TIMELINE

Week

Topics

1

1. Introduction to the course
2. Blackboard and Linux accounts
3. The Linux work environment
4. UNIX/Linux commands
5. The vi text editor
6. Spolsky – Choosing a language (ch 1); Back to basics (ch 2); Biculturalism (ch 18)
7. Graham – Programming FAQ (http://www.paulgraham.com/pfaq.html)
8. Estrin – Technical report writing basics (pages 1-21)
9. Brooks – The Mythical Man-Month (ch 1 on reserve at the MU library)

2

No class on Tuesday (meet with your Monday class)
1. ACM Code of Ethics Preamble; ethical scenarios and software disasters
2. Lemay - Perl basics (ch 1-4)
3. Conway – Perl Best Practices (on reserve at MU library); program style guidelines

3

1. ACM Code 1.1; ethical scenarios and software disasters
2. Java basics
3. Cook – Blue Pelican Java (lessons 1-8 http://www.bluepelicanjava.com/download_bpj/BPJ_TextBook_3_0_5.pdf)
4. Sun – The Java Tutorials – Learning the Java Language (http://java.sun.com/docs/books/tutorial/index.html)
5. Java best practices; Javadoc and program style guidelines
6. Spolsky – The Joel test: 12 steps to better code (ch 3); The guerilla guide to interviewing (ch 20)

7. Estrin – Correspondence (pages 23-31): write a cover letter and resume
8. Brooks – The Mythical Man-Month (ch 2 & ch19 on reserve)

4

1. ACM Code 1.2; ethical scenarios and software disasters
2. Lemay - Perl arrays, hashes, lists, conditionals, and loops (ch 5-7)
3. Spolsky – Functional specifications (ch 5-9)
4. Estrin – Reports (pages 32-37)
5. Graham – Writing, Briefly (http://www.paulgraham.com/writing44.html)

5

1. ACM Code 1.3; ethical scenarios and software disasters
2. Java arrays, conditionals, and loops
3. Spolsky – Daily builds; misc. topics (ch 10-16)
4. CVS and Subversion
5. Estrin – Proposals (pages 38-49); write a proposal for your team service project

6

1. ACM Code 1.4; ethical scenarios and software disasters
2. Lemay - Perl lists and strings (ch 8)
3. Java strings
4. Spolsky – misc. topics (ch 21-24)
5. Estrin – Procedures (pages 50-51); write a procedure document on assigned topic
6. Teamwork discussion and readings

7

1. ACM Code 1.5; ethical scenarios and software disasters
2. Perl regular expressions (ch 9-10)
3. Java regular expressions
4. Spolsky – The iceburg secret revealed (ch 25)
5. Estrin – Long Documents (pages 52-58)

8

No Class on Tuesday (Fall Holiday)
1. ACM Code 1.6; ethical scenarios and software disasters
2. Perl chapter 16, HTML, XHTML, CSS, XML, and CGI
3. Spolsky – The law of leaky abstractions (ch 26-28)
4. Nielsen – student choice usability essays (http://www.useit.com/alertbox/)
5. Zen Garden – view CSS from 5 different pages at http://www.csszengarden.com/
6. Estrin – Letter of Transmittal (page 54); adapt for c/s project

9

1. ACM Code 1.7; ethical scenarios and software disasters
2. Databases and SQL
3. Spolsky – Getting things done when you are only a grunt (ch 31)
4. Estrin – Title Page (page 55); adapt for c/s project

10

1. ACM Code 1.8; ethical scenarios and software disasters
2. Perl DBI and SQL
3. Java JDBC and SQL
4. Spolsky – student choice chapter
5. Graham – student choice essay (http://www.paulgraham.com/articles.html)
6. Estrin – Abstract (page 56); adapt for c/s project

11

1. Client-side programming using JavaScript (books on reserve at library)
2. Ajax (books on reserve at library)
3. Spolsky – student choice chapter
4. Graham – student choice essay (http://www.paulgraham.com/articles.html)
5. Estrin – Table of Contents (page 57) and List of Figures (page 58); adapt for c/s project

12

1. Estrin – Editing the technical document (pages 61-79); adapt for c/s project
2. Presentation basics

13

No Class on Thursday (Thanksgiving Holiday)
1. Peer review of c/s report drafts
2. Peer review of c/s code

14

1. Team-based service project presentations
2. Team-based service project report due
3. Team presentation peer reviews
4. Teamwork analysis

15

1. Client-server project presentations
2. Client-server project report due
3. Peer reviews
4. Review for final exam

16

Comprehensive final exam