Software Engineering - A Practitioner's Aproach (Web Site)
SYLLABUS
Instructor Bob Nielson
Lab hours:
Click here
Description: Course for students in Computer Science and Computer and Information Technologies programs, or having strong interest in computer programming. This course will instruct students in current software engineering theory and practice. Students will be required to complete a challenging term project, including individual and team work.
Disability Statement:If you are a student with a documented physical or mental impairment that will substantially limit a major life activity, please contact the Disability Resource Center on the main campus. The Center Coordinator and staff will assist you in analyzing your eligibility for services. If you are deemed eligible, reasonable accommodations that are appropriate for your disability will be assigned. If you have any questions concerning this process, please contact the Center at 652-7516; we are located in the Student Services Center, Room #201 of the Edith Whitehead Building.
Objectives: The objectives of this course are:
- 1. Understand the differences between software programming & software engineering.
- 2. Understand the software development life cycle.
- 3. Understand how to manage a project (administer, Budget, and Scheduling).
- 4. Understand UML and other design tools.
- 5. Understand the coding considerations for security and safety.
- 6. Understand how to document a program.
- 7. Understand how to maintain a program after release.
- 1. Project Management
- 2. Requirements
- 3. Software Design
- 4. Software Coding
- 5. Testing
- 6. Documentation
- 7. Maintenance
Attendance: Students are responsible for material covered and announcements made in class. School related absences may be made up only if prior arrangements are made. The class schedule presented is approximate. The instructor reserves the right to modify the schedule according to class needs. Changes will be announced in class.
Labs: You may use the computers in Udvar-Hazy 151 and Udvar-Hazy 200. There will also be TAs in this lab.
Resources: There is one book required for the class.
- Software Engineering - A Practitioner's Approach by Pressman (ISBN 0-07-301933-X)
Reading: The student is responsible for reading the material in the textbook. A reading schedule is provided with the class schedule. The student is expected to read the material before the class in which it is discussed.
Tests: There will be midterms and a final. Tests will likely be extensions of homework assignments, so be sure to keep backups of all of your work.
Homework: Homework will be graded on accuracy of function and style of design. Homework is due at 11:59p.m. on the date listed in the schedule. I cannot over emphasize the importance of starting early and getting all your assignments done before their due date. Programs that do not compile will receive no credit.
Multiple Ways to Turn In Homework:
- Email the file as an attachment to cs2450@dixie.edu. This method is preferred.
- Show it to the instructor during his office hours (TT 1:30-4:00)
Late Policy: Assignments are due at 11:59p.m. on the date specified in the schedule. Handing them in after 11:59p.m. is considered 1 day late. You may turn them in up to 3 school days late but you lose 10 percent per day. After 3 days late, you receive ZERO points.
For example: an assignment due Tuesday at 11:59 p.m. and turned in on time can receive 100 percent.
- Between Tuesday 11:59p.m. and Wednesday 11:59p.m. the assignment can receive at most 90 percent.
- Between Wednesday 11:59p.m. and Thursday 11:59p.m. the assignment can receive at most 80 percent.
- Between Thursday 11:59p.m. and Friday 11:59p.m. the assignment can receive at most 70 percent.
- After Friday 11:59p.m. the assignment will not be accepted.
Saturdays, Sundays, and school holidays do not count as late days. Late days do NOT extend beyond the last day of class.
Time Commitment: Courses should require about 45 hours of work per credit hour of class. This class will require about 135 hours of work on the part of the student to achieve a passing grade. If you don’t have the time to spend on this course, you should probably rethink your schedule.
Cheating: Cheating will not be tolerated, and will result in a failing grade for the students involved. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s work.
You are encouraged to work in groups while studying for tests, discussing class lectures, discussing algorithms for homework solutions, and helping each other identify errors in your homework solutions.
However, each student must create and type in their own solution. Any kind of copying and pasting is NOT okay. If you need help understanding concepts, get it from the instructor or fellow classmates. But never copy another’s code, either electronically or visually.
Grading: Programming assignments and tests each contribute to your total points. Your final grade is based on the percentage of points that you earn. Your grade will be weighted 60% on the tests and 40% on your projects and quizes.
| Percent |
Grade |
Percent |
Grade |
Percent |
Grade |
Percent |
Grade |
|||
| 94-100 |
A |
84-86.9 |
B |
74-76.9 |
C |
64-66.9 |
D |
|||
| 90-93.9 |
A- |
80-83.9 |
B- |
70-73.9 |
C- |
60-63.9 |
D- |
|||
| 87-89.9 |
B+ |
77-79.9 |
C+ |
67-69.9 |
D+ |
< 60 |
F |



