Syllabus

College of Engineering, Forestry & Natural Sciences
Department of Computer Science
Fall 2009

Overview

Course: CS 386 -- Software Engineering

Meeting Time: TuTh 2:20 PM - 3:35 PM, 69-224

Credit Hours: 3

Instructor: Dr. John C. Georgas

Office: 69-265

Office Hours: TuTh 9:30 AM - 11:00 AM, or by appointment

Course Prerequisites: CS 249 with a grade of C or better

Course Description

The course will cover the fundamentals and application of software engineering principles and techniques. Concepts will include project management and planning, process lifecycles, implementation and development techniques, and testing and quality assurance. Concepts will be applied in a team-based project.

Course Objectives

Upon successful completion of this course, students will have a basic understanding of the principles of software engineering and the various activities it involves. Students will gain hands-on experience with design, problem-solving, communication, and teamwork. This course will prepare students to delve into a more detailed study of the areas of software engineering, and better prepare students for assuming positions as software designers and developers.

Course Structure

This offering of CS 386 will consists of lectures and a multi-part project. Lectures will meet twice a week to discuss the fundamental topics of the course. Project assignments will combine individual and team work to design and implement working software systems.

Required Textbook

Software Engineering 8. Sommerville. Copyright © 2007 Pearson Education. (ISBN: 9780321313799)

Course Outline

For a more detailed outline, check the course schedule.

Topic
Software engineering difficulties
Process and lifecycles
Project management
Requirements specifications
Design and Architecture
Unified Modeling Language
Configuration management
Testing and quality assurance
Service- and aspect-oriented development

Evaluation and Grading

Your final grade for this course will be determined through the assessment of exams, quizzes, class participation, homework, and project assignments.

The weight of each course component toward your final grade is:

Assignment Grade Weight %
Project deliverables : Requirements 5%, Design 5%, Implementation and testing 5%, Final report 10%
25%
Project presentations: Requirements and design 10%, Final presentation 10% 20%
Class participation, homework, and quizzes 10%
Midterm exam 20%
Final exam (cumulative) 25%

Grades will be awarded on the following scale:

Percentage Grade Letter Grade
90% or above A
80% through 89% B
70% through 79% C
60% through 69% D
59% or below F

There is no "curve;" your grade is completely up to you and is not in any way affected by the grades of your classmates.

If you feel I've made a mistake in grading your assignment, please come visit me during office hours. I will very happily explain my reasoning for deductions and correct mistakes! However, any corrections must be discussed and made within a week of the assignment's return date.

Sometimes instructors make mistakes, and I am no exception: exams are harder than expected, or assignments are just too optimistic for the time allotted. In these rare cases, I reserve the right to modify the class's grades before their final submission. This modification is subject to the following rules: (1) the same modification will be applied to the grades of all students, and (2) the modification may never result in a lower grade, but always a higher one.

Submission and Late Policy

All assignments are due at the beginning of class on each assignment's due date. Drop them on my desk as you come in. There is a 15 minute "grace" period before late penalties kick-in, to account for transportation and parking related delays -- please don't abuse it.

In order to get assignments back to you in a timely manner, I depend on having all assignments turned in on time. As a result, there are stiff late penalties: Each hour the assignment is late is worth a 10% penalty. The timer doesn't stop until the assignment is in my possession. I would much rather you turn in an incomplete assignment on time than a complete one hours late. There are no "make-up" exams. If you fail to take any of the exams, the score for that exam is a zero.

All that said, exceptions for exceptional circumstances can, of course, be made. If you are unable to make it to class due to a serious illness or injury, let me know as soon as possible (and be prepared to offer any supporting documentation I ask for).

Attendance, Readings and Lecture

It is critical that you attend every lecture and group meeting. In this course, the readings and lectures will go hand-in-hand and will not necessarily cover the same material. One will reinforce the other, and -- to do well -- you should be prepared to come to lecture having read (or, at the very least, skimmed) through the reading assignments for the day. This will allow you to more actively participate during lecture, which will make the course much more enjoyable for all of us. Exam content will be drawn from both lectures and readings.

Attending group meetings is critical for the success of your projects and respect of your teammates.

Please be cautious about attending class and meetings if you are feeling ill.  Please inform me by email if you are feeling unwell; if you are experiencing flu-like symptoms, you should not attend class; please take precautions not to infect others, and seek medical attention if your symptoms worsen.

Electronic Devices

Feel free to bring your laptops and take electronic notes or try things out as we talk about them during lecture. Note that watching Youtube videos or updating your Facebook page does not count as taking notes and trying things out. Please be courteous to your classmates and me by silencing your cell phones.

I reserve the right to ask you to stop using any device if it is bothersome to the class.

This Site

The pages of the course's home site are the central course information and announcement clearinghouse, along with your email. I would ask that you check your email daily, at the very least, and visit the site daily as well. Keep your eyes glued to the News section of the main page for announcements, and to the Schedule that will be updated often with links to lecture notes and assignment details.

Contact and Email Policies

Please don't hesitate to drop by my office or send me an email with any questions or concerns. I will happily do my best to answer your questions and address your concerns. I reserve the right to ask you to come in for a chat during office hours for long answers, and reserve email for shorter answers. I will answer your emails as soon as I possibly can, but don't bank on a response time measured in minutes (though, that may sometimes happen too).

Very often, students will have the same question, but only one of them will send an email my way asking it. Therefore, my default policy is to share answers to email questions having to do with the course content with the class mailing list! I will do my best to strip off any identifying information from the text of your email before I do so. If you would rather I not share your question, please indicate that in your email. Obviously, I will never share a question that is personal in nature.

My email is filtered, so to ensure that your message actually lands in my inbox, please include "CS386" in the subject line. Also, please make sure that you put your name somewhere in the message. Without this information, there's no guarantee that I will get and answer your email.

Academic Dishonesty

One of the foundations of academic life is honesty. Assignments and exams are ways to measure your understanding of the material being covered in the course, not medieval implements of torture. By cheating, you are cheating yourself out of the chance to have your understanding accurately evaluated. Grades are an indication of your final proficiency over the material, and not a form of punishment. Be honest and fair to your fellow classmates: do your own work. You'd also be surprised at how easy it is to spot cheating.

Cheating and any other form of academic dishonesty (such as "borrowing" text or materials) will be dealt with seriously. Consequences to incidents of academic dishonesty may include a zero grade in the assignment in question, an F in the course, or may be referred to the university's channels and result in expulsion from NAU -- any and all at my discretion.

Just don't do it!

Special Accommodations

I am committed to a classroom that is open to all. If you feel you need any special accommodations for any component of the course, please: (1) let me know immediately, and (2) contact Disability Resources immediately, so accommodations can be made.

NAU Policies

Please familiarize yourselves with the university's general policies that are available at the Engineering Sciences front desk and in various online locations within the university's site.

  • Safe Working and Learning Environment
  • Students with Disabilities
  • Medical Insurance Coverage for Students
  • Academic Dishonesty
  • Institutional Review Board
  • Accommodation of Religious Observance and Practice
  • NAU Classroom Management Statement
  • Building Evacuation Policy
  • NAU Class Policy Statement
  • Engineering Sciences Code of Ethics