Subscribe via RSS Feed

Course Overview

CS 428 (“Software Engineering”) as a class was created by Dr. Charles “Chuck” Knutson back in the mid-2000s. After Dr. Knutson retired from BYU, I took over the class (at his recommendation) at the start of 2017. Chuck and I have known each other for over 30 years, and while we don’t always agree on everything, we’re pretty united on the importance of this class.

The goal of CS 428 is simple: to prepare you for life as a software engineer in the real world. Specially, it is intended:

  • To help you better understand the root causes of success and failure in real-world software development
    projects.
  • To give you practical experience with the fundamentals of the software development lifecycle (SDLC),
    including problem definition, analysis, requirements, architecture & design, implementation, quality
    assurance.
  • To help you better understand the sociological and interpersonal nature of software development, including
    project management, team dynamics, communications, role assignment, and conflict resolution.
  • To help you learn to self-manage within a dynamic, changing, unfair, and inherently ambiguous work environment.
  • To help you learn to manage orders of ignorance as a professional life skill.

To accomplish this, CS 428 uses a three-prong approach.

First, you will do a lot of reading.  This includes two of the most important books ever written on why software projects and organizations succeed or fail: The Mythical Man-Month by Fred Brooks and Peopleware by DeMarco & Lister. The third book will be Facts and Fallacies of Software Engineering by Robert Glass, not as well-known but very relevant. Your reading will also include a number of my own writings and blog posts over the years, as well as a few other articles. You will also watch out-of-class video podcasts (mostly created by Dr. Knutson) that go into more detail on various subjects. Readings and podcasts together make up 31% of your grade.

Second, you will divide up into teams and work on a software project together under very tight deadlines. You will as a team prepare a standard set of project deliverables, then update them twice during the course of the semester. You will do a work-in-progress demonstration about 2/3rds of the way through the semester, then another demonstration — along with a video presentation — at the end of the semester. There will be in-class lectures about creating each deliverable, then in-class reviews of the deliverables each team creates. Your team will submit weekly status reports logging the ‘billable hours’ each team member has put in on the project that week. Project deliverables and status reports make up 36% of your grade.

Third, I require all devices (laptops, tablets, phones) to be down during lecture. Both videos and slides of each class will be posted within a few days; if you want to take notes, please do so with pen and paper.

The only test in CS 428 is the midterm, which will be given late in the semester. This will be a 3-hour (timed) open-book, open-note test via LearningSuite, and it will count for 25% of your grade. There is no final exam.

Course and University Policies

Academic Integrity

Academic integrity involves the honesty and energy with which you pursue knowledge and learning. This is reflected in the honor code:

BYU students should seek to be totally honest in their dealings with others. They should complete their own work and be evaluated based upon that work. They should avoid academic dishonesty and misconduct in all its forms, including plagiarism, fabrication or falsification, cheating, and other academic misconduct.

Intentional Plagiarism is the deliberate act of representing the words, ideas, or data of another as one’s own without providing proper attribution to the author through quotation, reference, or footnote.

Inadvertent Plagiarism involves the inappropriate, but nondeliberate, use of another’s words, ideas, or data without proper attribution. Inadvertent plagiarism usually results from an ignorant failure to follow established rules for documenting sources or from simply being insufficiently careful in research and writing. Although not a violation of the Honor Code, inadvertent plagiarism is a form of academic misconduct for which an instructor can impose appropriate academic sanctions. Students who are in doubt as to whether they are providing proper attribution have the responsibility to consult with their instructor and obtain guidance.

It is also important to practice integrity in the way you pursue learning, or in other words, the eagerness with which you seek to improve yourself. When you attempt to skate through a class with
a minimal effort, you cheat yourself. The punishment that tends to result from such “cheating” is a lower grade. But the negative impacts are really much deeper than that.
Bottom line… Be honest with your teacher and with your fellow students. Also be honest with yourself. Dive in and get the most out of this class experience. This is a class in which you’ll get out
of it largely what you put in.

Preventing Sexual Harassment

Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant in an educational program or activity that receives federal funds. The act is intended to eliminate sex discrimination in education. Title IX covers discrimination in programs, admissions, activities, and student-to-student sexual harassment.

BYU’s policy against sexual harassment extends not only to employees of the university, but to students as well. If you encounter sexual harassment, gender-based discrimination, or other inappropriate behavior, please talk to your professor or department chair, or contact the BYU Equal Employment Opportunity Office at 422-5895, or contact the Honor Code Office at 422-2847.

Students with Disabilities

Brigham Young University is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. If you have any disability that may impair your completing this course successfully, please contact the University Accessibility Center (801-422-2767). Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the student and instructor by the UAC.