Course Syllabus


This class will focus on understanding and using design patterns as high-level programming constructs. An emphasis will be placed on problem solving and analysis skills .

Required Resources

The textbook for this course is Software Design by James Helfrich. This is available as an e-book through Kendall Hunt. Your subscription should be part of the course enrollment.


Course Outcomes

CSE 331 is the sixth class in a seven-class software design sequence. If you complete all the readings and labs, you will be able to do the following at the end of this semester:

  1. List and describe the most commonly used design patterns.
  2. Implement design patterns into a new program.
  3. Refactor existing code into a design pattern.
  4. Critique the utility of a design pattern in the context of a programming problem.
  5. Create unit tests for new or existing code.
  6. Work effectively in a team environment.

Weekly Patterns

The table below displays typical weekly activities, due dates, and activity descriptions.

Due Date* Learning Model Activity Title Description
Beginning of Week Prepare Reading Read material and take a quiz.
During the Week Teach One Another Team Time Work with your team to complete the lab
End of Week Prove Lab Create a lab report critiquing a design pattern

What to Expect from the Course

In order to help you meet these objectives, CSE 331 will offer the following learning activities: reading, reading quiz, and weekly labs.


The course provides a textbook: Software Design by James Helfrich. This is available as an e-book through Kendall Hunt. Your subscription should be part of the course enrollment. Through the course of the semester, you will need to read parts of Unit 3 and Unit 4, totaling six chapters. This textbook presents all the necessary skills you will need to demonstrate for the class. It does not provide solutions to the assignments, projects, nor tests. It also does not describe how to solve every problem you will need to solve this semester. The course also provides additional material available through I-Learn,

You will need to read a chapter of this textbook at the beginning of every other week. Some concepts are difficult and may require more than one attempt to understand everything. By the time you work on the weekly lab, you will need to master every aspect of these chapters. It will take on average an hour to read the 20 pages in each chapter.

By completing the reading, you will understand the concepts surrounding design patterns.

Reading quiz

The course provides a reading quiz associated with each chapter in the book. The reading quiz covers all the fact/comprehension topics for the chapter. The solution to each reading quiz is provided shortly after the due date.

You will need to complete the reading quiz at the beginning of every other week. These quizzes are due Monday at 11:59pm. You may take this quiz up to 5 times. The highest grade will be retained. These are open-book quizzes.

By completing the reading quiz, you will have demonstrated a readiness to participate in class and with your team. The reading quizzes will account for 10% of your overall grade in the class.

Weekly Labs

The course provides thirteen labs. Each lab is due Saturday at 5:00pm MST. Each lab will be submitted as a report, there there is software design and coding components to each lab.

You will need to use creativity, problem solving, and plenty of hard work to find a solution to these labs. Each lab will take about five hours to complete.

By completing the projects, you will master the design patterns. The labs will account for 90% of your overall grade, about 7% for each submission.


There are two components to your overall grade:

Reading Quiz 10% Six reading quizzes, five attempts, due before the first class of the week
Labs 90% Thirteen design and programming problems, due each Saturday night at 5:00pm
Grades are as follows: 100% — 90%  A:  Demonstrated mastery of the class
89.9% — 80%  B:  All of the key concepts and skills have been learned
79.9% — 70%  C:  Acceptable, but might not be ready or CSE 231
69.9% — 60%  D:  Developing; the class has yet to be mastered
59.9% — 0%  F:  Failed to understand or complete the course

Additionally, a minus (-) will be added when the last digit is a 0, 1, or 2 for all grades except F's. A plus (+) will be added when the last digit is a 7, 8, or 9 for all grades except A's and F's. Grades will be posted on I-Learn but you are responsible for verifying your grade. Please notify me if there is a problem.


Please send all questions to your instructor through BYU—Idaho e-mail. Please do not use Canvas e-mail (conversations) or your own private e-mail (such as your gmail account). You can expect your instructor to respond to each e-mail within 24 hours, though a full answer may take longer. Your instructor will post announcements several times a week. Each of these are important and should be read as soon as possible. If your instructor needs to contact you directly, he/she will do this thorough your official BYU—Idaho e-mail.

After the first week, late reading quizzes are not accepted. This is because the solution to the reading quizzes will be presented immediately after each reading quiz is due. It is therefore a good idea to not wait until the last minute to complete these.

Generally speaking, late work is generally not accepted in this class. The reason for this policy is that solutions will be posted immediately upon the due date. If a problem arises, you must contact your instructor long before the due date and provide a good reason. Examples of good excuses: death in family, illness requiring a doctor visit, etc. Examples of bad excuses: I forgot when it was due, I did not plan appropriately, I relied upon some technology to work flawlessly the five minutes before the deadline, etc. If a special accommodation needs to be made, both you and your instructor must come up with and agree upon a plan for your late work. This plan may include new due dates or a point penalty. If you do not have a written (in e-mail) agreement, then the assignment due date remains.

Most of the work this semester will be done with in your team. Except for the reading quizzes and final exam, you are encouraged to work with your teamon everything. However, working with other teams is prohibited. The penalty for copying or plagiarizing of assignments might be one or more of the following: -100% on an assignment, being asked to withdraw from the class, a failing grade in the class, or disciplinary action by the University. For more information about this, please see this document on plagiarism.

University Policies

Preventing Sexual Misconduct

BYU-Idaho prohibits sex discrimination by its employees and students in all of its education programs or activities. This includes all forms of sexual harassment, such as sexual assault, dating violence, domestic violence, stalking, conditioning a grade or job on participation in sexual conduct, and other forms of unwelcome sexual conduct.

As an instructor, one of my responsibilities is to help create a safe learning environment for my students and for the campus as a whole. University policy requires deans and department chairs, and encourages all faculty, to report every incident of sexual harassment that comes to their attention. If you encounter or experience sexual harassment, please contact the Title IX Coordinator at or 208-496-9209. Additional information about sex discrimination, sexual harassment, and available resources can be found at

Disability Services

BYU—Idaho does not discriminate against persons with disabilities in providing its educational and administrative services and programs and follows applicable federal and state law. This policy extends to the University’s electronic and information technologies (EIT).

  • This course contains figures and graphs. If you have a disability that prevents you from viewing or creating figures and graphs, please contact Disability Services. 
  • Additionally, this course requires you to use a code editor such as Microsoft Visual Studio and Apple Xcode. If you have a disability that prevents you from accessing a code editor, please contact Disability Services.

Students with qualifying disabilities should contact the Disability Services Office at or 208-496-9210. Additional information about Disability Services resources can be found at

Academic Honesty

“When you are honest in every way, you are able to enjoy peace of mind and maintain self-respect. You build the strength of character, which allows you to be of service to God and others. You are trustworthy in the eyes of God and those around you. If you are dishonest in your words or actions, you hurt yourself and often hurt others as well. If you lie, steal, cheat, or neglect to give the full amount of work for your pay, you lose your self-respect. You lose the guidance of the Holy Ghost” (“Honesty,” True to the Faith (2004), 84)

Academic Honesty means students do their own work. This also means their instructors will evaluate that work. Students should not be dishonest—this includes all types of work in their courses. The complete Academic Honesty Policy can be found at

Academic Grievances

Students are encouraged to contact their instructors regarding course-related concerns. If concerns cannot be resolved in this way, students may contact the BYU—Idaho Support Center to formally register a concern or grievance. The Student Grievance Policy can be found here.

Other University Policies

Please read through the document called University Policies. It gives important information about the following topics:

  • Student Honor
  • Copyright Notice

Go to the Student Resources module to review further resources and information.

Course Summary:

Date Details Due