MANSFIELD UNIVERSITY
CIS 2206 COURSE SYLLABUS

Revised 8/20/2008

GENERAL INFORMATION

Course number: CIS 2206
Course title: Business Programming Concepts I
Credit/Contact hours: 3
Term: Fall, August 25 - December 5, 2008
Class meeting time and location: TuTh 8:30AM – 9:45AM in Elliott 206
College website: www.mansfield.edu
Course website: http://www.mansfield.edu/blackboard.htm for syllabus, notes, assignments, and the class discussion board

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

This course provides an introduction to analyzing and designing solutions to business-related problems using a business programming language.

Prerequisite: CIS 1104

Textbooks

Murach’s Java SE 6, Joel Murach and Andrea Steelman, 2007, Murach Press, ISBN: 1-890774-42-1.

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.

Other Useful Reference Books

-- Java Books and Links

Java Application Development on Linux, 2005, C. Albing and M. Schwarz, Prentice Hall PTR, ISBN: 0-13-143697-X. This book is available for free online at: http://www.phptr.com/content/images/013143697X/downloads/013143697X_book.pdf

Blue Pelican Java, Version 3.0.5g, 2008, Charles Cook, self-published, available for free online at: http://www.bluepelicanjava.com/

Thinking in Java, 3rd ed., 2003, Bruce Eckel, Prentice Hall PTR, ISBN: 0-13-100287-2.
This book is available for free online at: http://www.pythoncriticalmass.com/downloads/TIJ-3rd-edition4.0.zip

Thinking in Java, 4th ed., 2006, Bruce Eckel, Prentice Hall PTR, ISBN: 0131872486.
The first 7 chapters are available for free online at: http://mindview.net/Books/TIJ4

The Java Tutorials – Learning the Java Language, Sun Microsystems, available online at http://java.sun.com/docs/books/tutorial/index.html

Online Java API - http://java.sun.com/reference/api/

-- Perl Books and Links

The Joy of Perl, 1998, Andrew Leonard, available online at http://archive.salon.com/21st/feature/1998/10/cov_13feature.html

Beginning Perl, 2000, Simon Cozens, Wrox Press, ISBN: 1861003145, freely available online at http://www.perl.org/books/beginning-perl/

Perl Best Practices, 2005, Damian Conway, O’Reilly Media, ISBN: 0-596-00173-8

O’Reilly Perl Book Series, http://oreilly.com/pub/topic/perl

Online Perl Documentation, 2008, http://perldoc.perl.org/perl.html

CPAN Perl Modules, http://www.cpan.org/modules/index.html

-- Other Useful Books and Links

Joel on Software, 2004, Joel Spolsky, Apress, ISBN: 1590593898, online essays located at http://www.joelonsoftware.com/Archive.html, on reserve at the MU library

Hackers & Painters, 2004, Paul Graham, O’Reilly, ISBN: 0596006624, online essays located at http://www.paulgraham.com/articles.html, on reserve at the MU library

The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition (Paperback), 1995, Frederick Brooks, Addison-Wesley Professional, ISBN: 0201835959, on reserve at the MU library

Online SQL Course, http://www.sqlcourse.com/ and http://www.sqlcourse2.com/

Online MySQL Reference Manual, http://dev.mysql.com/doc/

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 drive, diskettes, or other suitable media.

Course Outline

  1. The UNIX / Linux work environment
  2. System Development Life Cycle (SDLC)
  3. Java programming
  4. Software testing
  5. Software version control
  6. Software documentation best practices
  7. Structured Query Language (SQL database commands)
  8. Building business solutions using Java and an SQL database
  9. Technical report writing
  10. Presentation techniques
  11. Perl programming

Learning Outcomes

At the start of the course the student should already be able to:

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

These learning outcomes directly support the following CIS program objectives:

·         enable the student to think critically and communicate clearly in order to conceptualize, design and implement computer solutions to real-world problems,

·         provide the student with an appropriate set of professional skills to ensure a productive career.

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 or C+ grade. Work that goes beyond the basic requirements will in general earn anywhere from a B- to a B+ grade. Work that is very good and exceeds the instructor's expectations will in general earn an A- or A grade. Only the most outstanding work will earn an A+ grade.

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 and based on the student’s attendance, participation, assignments, and quizzes.

Course Item

% of Grade

Midterm Exam

30

Individual Java project report and presentation

30

Final Exam

40

Attendance, participation, assignments, and quizzes

+/-

The individual Java 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.

In general, the exams will be comprehensive, closed book, and timed. However, the instructor may elect to have a programming portion of an exam presented in a hands-on computer lab setting. Electronic devices such as laptop computers, calculators, music players, and cell phones may not be used during the exam.

Writing:  Since this is a "W" course, writing will be a significant part of the course. Writing assignments will include:

·         cover letter and resume

·         project proposal memo

·         formal technical report

·         essay questions on the exams

Late Work Policy

A late project, report, presentation, or exam will automatically lose one letter grade for each week late 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 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. Feel free to ask questions on any material you need clarified during the lecture and during office hours.

Unique requirements of the course

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

Attendance

Regular and punctual class attendance is expected. Documented excuses because of illness, serious mitigating circumstances, or official university representation will be accepted by all faculty members and will permit students to make up missed tests and/or graded assignments in a reasonable manner at a time agreeable to instructor and student. Students must provide documentation before absences can be excused.

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 (Phone: 662-4798; 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

Reading Assignment

1

ACM Code of Ethics
UNIX/Linux commands and the vi text editor
Java basics

Murach ch 2-4
Albing ch 1-2

2

SDLC
Java data validation and exceptions
Essay #1 Cover letter and resume

Murach ch 5
Albing ch 11, 12
Estrin pages 1-31

3

Software testing using JUnit
Java OOP

Murach ch 6
Albing ch 13

4

Software version control using Subversion (or CVS)
Java inheritance and interfaces

Murach ch 7, 8
Albing ch 8

5

Software style and documentation using JavaDoc
Java packages, Javadocs, and arrays

Murach ch 9, 10
Albing pg 122-131

6

Building and deploying Java applications using Ant
Java collections and generics

Murach ch 11
Albing ch 9

7

Java dates, strings, exceptions, and files
Midterm Exam

Murach ch 12, 13, 19

8

No Class on Tuesday (Fall Holiday)
SQL

Sqlcourse.com
Albing ch 14

9

Java JDBC
Essay #2 - Project proposal

Murach ch 21
Albing ch 15

10

Java project and technical writing topics

Estrin pg 32-79

11

Perl – statements and data types

Lemay ch 1-8

12

Perl – regular expressions

Lemay ch 9-10

13

Perl – subroutines

Lemay ch 11

14

Presentation techniques
Peer review of project report drafts
No Class on Thursday (Thanksgiving Holiday)

 

15

Project presentations
Review for final exam

 

16

Final Exam on Tuesday, 12/9/2008, 8:30AM