CSCI 3300 Software Engineering
This section of the course (Spring 2016) meets Monday, Wednesday, and Friday 10:00-10:50PM in Ritter 216. Please listen to the course theme song.
This is a course about how to design and build quality software. We will examine the entire software development process from initial concept to long-term maintenance, and apply what we learn to a large-scale semester project. The challenges involved in working as a team on a software project will lead into discussions of division of labor, modularity, resource management (human and otherwise), design meetings, and effective communication between team members.
Not everyone agrees on what works best when developing software. Software Engineering emerged as a subfield of Computer Science in the 1970's and 1980's in an attempt to increase software quality by introducing formal development processes, detailed up-front requirements and design documentation, and various (heavyweight) notations for expressing these documents. Because a lot of this work came out of academia, most university courses and textbooks emphasize these approaches.
The reality, however, is that day-to-day software practioners reject many of the ideas that are taught in typical university courses, and have embraced development philosophies like those expressed in the "Agile Manifesto":
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
My goal in this course is to teach you what works best in practice. The course, therefore, will focus on case studies. We'll look at how different companies, open source projects, and individuals organize their development efforts, discover what works and what doesn't, and try to synthesize all of this into "best practices" for software engineering.
Here is the course schedule which gives the specific topics to be covered.
The course prerequisite is a passing grade in CSCI 2300 (Object Oriented Software Design).
There is no required text for the course.
Grading and Exams
You should periodically check the course schedule page for updates on project milestones and so on.
In total, 60% of your grade will be based on your semester software project. There will be three milestones. The first is at the end of the sixth week of class (February 19th), and will count for 15% of your grade. The second is at the start of the twelfth week (April 4th), and also counts for 15%. The final, end-of-semester milestone, worth 30%, is due on the last day of classes (Monday, May 2nd) and each team will do a brief presentation and demonstration of their project. The remainder of your course grade is based on an in-class midterm exam (15%) on March 2nd, and a comprehensive final exam (25%) on Wednesday, May 4th from noon to 1:50PM.
Your grade on each milestone will be based on overall software quality, your own contributions (I'll be following the git logs carefully), and a peer evaluation. We'll start every class with a 5-minute group "standup" meeting; your active participation in these meetings will influence your grade, so you are not permitted to miss class without prior approval from me and your team members.
Academic Integrity Statement
Academic integrity is honest, truthful and responsible conduct in all academic endeavors. The mission of Saint Louis University is "the pursuit of truth for the greater glory of God and for the service of humanity." Accordingly, all acts of falsehood demean and compromise the corporate endeavors of teaching, research, health care, and community service via which SLU embodies its mission. The University strives to prepare students for lives of personal and professional integrity, and therefore regards all breaches of academic integrity as matters of serious concern. The governing University-level Academic Integrity Policy was adopted in Spring 2015, and can be accessed on the Provost's Office website. Additionally, each SLU College, School, and Center has adopted its own academic integrity policies, available on their respective websites. All SLU students are expected to know and abide by these policies, which detail definitions of violations, processes for reporting violations, sanctions, and appeals. Please direct questions about any facet of academic integrity to your faculty, the chair of the department of your academic program, or the Dean/Director of the College, School or Center in which your program is housed.
Title IX Statement
Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of sexual misconduct (e.g. sexual assault, sexual harassment, stalking, domestic or dating violence), we encourage you to report this to the University. If you speak with a faculty member about an incident of misconduct, that faculty member must notify SLU’s Title IX coordinator and share the basic fact of your experience. The Title IX coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus. If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK. To view SLU’s sexual misconduct policy and for resources, please visit this web address.
Student Success Center
In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. The Student Success Center, a one-stop shop, which assists students with academic and career related services, is located in the Busch Student Center (Suite, 331) and the School of Nursing (Suite, 114). Students who think they might benefit from these resources can find out more about (1) Course-level support (e.g., faculty member, departmental resources, etc.) by asking your course instructor, and (2) University-level support (e.g., tutoring services, university writing services, disability services, academic coaching, career services, and/or facets of curriculum planning) by visiting the Student Success Center or by going here.
Disability Services Academic Accommodations
Students with a documented disability who wish to request academic accommodations are encouraged to contact Disability Services to discuss accommodation requests and eligibility requirements. Please contact Disability Services, located within the Student Success Center, at <Disability_services@slu.edu> or 314-977-3484 to schedule an appointment. Confidentiality will be observed in all inquiries. Once approved, information about academic accommodations will be shared with course instructors via email from Disability Services and viewed within Banner via the instructor’s course roster.