CS 2450: Software Engineering
This course introduces topics in current software engineering theory and practice. Students will also learn through interactive application of software engineering concepts by way of a semester-long team project.
CS 2420 (Grade C- or higher)
Course fee: $25, used to assist in maintaining CIT infrastructure.
TR 2:30 pm - 3:45 pm in Smith 108
Final exam: Tuesday, December 11, 1:00 pm - 2:50 pm
Office: North Burns 228
Office Hours: MTWRF 1:00 pm - 2:00 pm
By the end of the course, students will be able to:
- [Professional Knowledge] Show understanding of software engineering knowledge and skills and of the professional standards necessary to begin practice as a software engineer.
- [Technical Knowledge] Demonstrate an understanding of and apply appropriate theories, models, and techniques that provide a basis for problem identification and analysis, software design, development, implementation, verification, and documentation.
- [Teamwork] Work both individually and as part of a team to develop and deliver quality software artifacts.
- [Perform Trade-Offs] Reconcile conflicting project objectives, finding acceptable compromises within the limitations of cost, time, knowledge, existing systems, and organizations.
- [Continuing Professional Development] Learn new models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development.
There is no assigned textbook for this course. Readings will be assigned from online sources.
You may use the computers and software in the Smith Computer Center.
Course Web Site
Assignment submissions and grades will be managed in Canvas.
Assignments and Exams
Students are responsible for reading the material in this course. This includes reading the material before the class in which it is discussed. Feel free to bring questions from the reading to class or to office hours.
Assignments will be given to allow students to practice/review the skills/theory discussed in class. This includes making progress on a semester-long group project.
This course will have many quizzes throughout the semester. Quizzes are designed to check understanding of the course topics, and to promote the course objectives. Quizzes will be short in-class activities, and graded on participation. All quizzes will be weighted equally.
There will be one midterm exam and one final exam.
Grades will be weighted as follows:
Letter grades are assigned based on the percentage of possible points attained, according to the following chart:
>= 94 A >= 90 A- >= 87 B+ >= 84 B >= 80 B- >= 77 C+ >= 74 C >= 70 C- >= 67 D+ >= 64 D < 64 F
|01 - Aug 21 / 23||Course Overview|
|02 - Aug 28 / 30||Tools|
|03 - Sep 4 / 6||Software Process|
|04 - Sep 11 / 13||Software Process (Agile)|
|05 - Sep 18 / 20||Project Overview|
|06 - Sep 25 / 27||Software Phases: 1. Requirements Engineering|
|07 - Oct 2 / 4||Lab Time / Review|
|08 - Oct 9||Midterm (Fall Break)|
|09 - Oct 16 / 18||Software Phases: 2. Design|
|10 - Oct 23 / 25||Software Phases: 3. Implementation|
|11 - Oct 30 / Nov 1||Software Phases: 4. Verification and Validation|
|12 - Nov 6 / 8||Software Phases: 5. Deployment|
|13 - Nov 13 / 15||Software Phases: 6. Maintenance|
|14 - Nov 20||Flex Week (Thanksgiving)|
|15 - Nov 27 / 29||Project Presentations|
|16 - Dec 4 / 6||Review|
|17 - Dec 11||Finals|
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. Exams and quizzes cannot be made up unless arrangements are made prior to the scheduled time.
Occasional absences are acceptable as long as the student keeps up with assignment work. Students who miss more than two consecutive weeks of class or who miss more than 20% of scheduled classes during the semester without making prior arrangements will receive a failing grade. Students who miss any scheduled exam (including midterm exams and the final exam) or fail to complete a final project without making prior arrangements will receive a failing grade.
This course can only be completed by attending classes and completing all assigned work to a satisfactory level. There is no procedure for testing out of the class.
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, which is approximately 9 hours per week. If you do not have the time to spend on this course, you should probably rethink your schedule.
Assignments are due on the date specified in the schedule. Handing them in or passing them off after the specified time is considered one day late. You may turn them in up to two school days late with penalties as described below. After two days late, you receive zero points.
For example: if an assignment is due at noon on Thursday:
Before noon Friday the assignment is considered 1 day late. Before noon Monday the assignment is considered 2 days late. After noon on Monday 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.
Each student is given five free late days to use over the course of the semester. The lateness of an assignment will be determined according to the rules given above, and the first five late days used during the semester will be forgiven. After that, each late day will result in a 10% penalty.
Even using free late days, students cannot submit assignments more than two days late and receive credit. No assignments will be accepted more than two days past the original deadline. Free late days are applied to the first five late days during the semester. Students cannot control which late days are penalized and which ones forgiven; the first five late days in the semester are forgiven, and the rest are penalized. Free late days only apply to students who submit every assignment within the two-day cutoff period. For example, if you fail to submit the fifth assignment, or submit it more than two days late, you will forfeit all free late days, including those used for earlier assignments. No other extensions will be granted, except under exceptional circumstances. Students should reserve their free late days to use in the event of illness, emergencies, traveling, sports conflicts, etc. Students are advised not to use their free late days early in the semester, as assignments tend to get more difficult and schedules tighter as the semester progresses.
Limited collaboration with other students in the course is permitted. Students may seek help learning concepts and developing programming skills from whatever sources they have available, and are encouraged to do so. Collaboration on assignments, however, must be confined to course instructors, lab assistants, and other students in the course. Students are free to discuss strategies for solving programming assignments with each other, but this must not extend to the level of programming code. Each student must code his/her own solution to each assignment. See the section on cheating.
Cheating will not be tolerated, and will result in a failing grade for the students involved as well as possible disciplinary action from the college. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s own work. It is okay to seek help from others and from reference materials, but only if you learn the material. As a general rule, if you cannot delete your assignment, start over, and re-create it successfully without further help, then your homework is not considered your own 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. If you are unsure if collaboration is appropriate, contact the instructor. Also, note exactly what you did. If your actions are determined to be inappropriate, the response will be much more favorable if you are honest and complete in your disclosure.
Where collaboration is permitted, each student must still create and type in his/her 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 or written work, either electronically or visually. The line between collaborating and cheating is generally one of language: talking about solutions in English or other natural languages is usually okay, while discussions that take place in programming languages are usually not okay. It is a good idea to wait at least 30 minutes after any discussion to start your independent write-up. This will help you commit what you have learned to long-term memory as well as help to avoid crossing the line to cheating.
Click on this link: https://academics.dixie.edu/syllabus/ for comprehensive information on the Semester Dates, the Final Exam Schedule, University resources such as the library, Disability Resource Center, IT Student Help Desk, Online Writing Lab, Testing Center, Tutoring Center, Wellness Center and Writing Center. In addition, please review DSU policies and statements with regards to Academic Integrity, Disruptive Behavior and Absences related to university functions.
If you are a student with a medical, psychological, or learning disability or think you might have a disability and would like accommodations, contact the Disability Resource Center (652-7516) in the North Plaza. The Disability Resource Center http://dixie.edu/drcenter/ will determine eligibility of the student requesting special services and determine the appropriate accommodations related to their disability.
Last Updated 10/09/2018