Course Syllabus

This course will focus on designing and debugging programs with related classes using composition and inheritance. An emphasis will be placed on problem solving and analysis skills.

Course Outcomes

CSE 231 is the fourth class in a seven-class software design sequence sequence. If you complete all the readings, problem sets, and labs, you will be able to:

  • Explain the syntax, purpose, and use of design tools as they relate to composition and inheritance
  • Explain and use design metrics as they relate to composition and inheritance
  • Identify and explain design tradeoffs
  • Qualitatively and quantitatively evaluate the pros and cons of alternative solutions
  • Find solutions to complex, ill-defined, and difficult programming problems
  • Read, write, and debug code
  • Work effectively in a pair programming environment

What to Expect from the Course

In order to help you meet these objectives, CSE 231 will offer the following learning activities: reading, reading quiz, problem sets, weekly programming labs, and a final exam


The course provides a textbook for this course: 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 seven chapters of Unit 3. 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 tackle this semester. The course also provides additional material available through I-Learn, including tutorials and C++ references.

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

By completing the reading, you will understand the concepts surrounding class relation design. There are no grades directly associated with the reading.

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 the week. You may take this quiz up to 5 times. The highest grade will be retained. These are open-book quizzes. Each quiz is to be accomplished individually, without the help of the rest of the class.

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

Problem Sets

The course provides a collection of exercises, problems, and challenges. Exercises are designed to exercise your mastery of the facts and concepts in each chapter. The problems are to help you apply the concepts of the chapter to coding situations. The challenges are designed to exercise your ability to solve novel, large, or difficult problems. Solutions to the problem sets are provided in class.

You will need to work through these problems sets in class. Each problem set is to be tackled with your partner.

By completing these problem sets, you will well-prepared to tackle the weekly programming lab. The problem sets will account for 10% of your overall grade in the class.

Weekly Programming Labs

The course provides twelve labs. Ten are programming labs where a working C++ program will be developed. Two are design labs where a design document (containing class diagrams, pseudocode, flowchart, data flow diagrams, structure chart, and test cases) are to be created. Detailed feedback and a presentation of a good solution to each of these labs will be provided shortly after each lab is due.

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 four hours to complete. You will work with a partner on each lab except the first using the pair-programming technique.

By completing the projects, you will master the various object oriented programming constructs, develop problem solving skills, and learn how to debug programs. The labs will account for 70% of your overall grade, about 6% for each submission.

Final Exam

The course provides a final exam and two practice final exams.

You will need to review the problems presented in the back of each chapter to prepare for the test. This test is to be completed in a “closed-book” format without reference to the internet, the textbook, or anyone else in the class. You may wish to complete the practice exam several times so you can  achieve mastery over all aspects of the class.

By studying for the exam, you will develop a mastery of the skill of designing and analyzing object oriented program design. The final exam is worth 10% of your overall grade in the class.

Details, Details...


There are three components to your overall grade:

Reading Quiz 10% Twelve reading quizzes, five attempts, due before the first class of the week.
Problem Set 10% Twelve problem sets to be completed with your partner by Thursday night
Labs 70% Twelve design, analysis, and programming problems, due each Saturday night at 5:00pm.
Final Exams 10% The final exam is the last day of class.

The weekly labs are due Saturday night at 5:00pm mountain standard time. This due-time was selected for several reasons. First, in the workplace, deadlines tend to be during work hours. Second, the solution will be released at the due-time and you are more likely to see it at 5:00pm than midnight. Third, when due-times are midnight, it is difficult to have a normal social life Saturday night. This way, it is possible to submit your work and go out at night! Finally, the due-time is mountain standard time. If the due-time was midnight, then it would be Sunday on the east coast and in Europe. A 5:00pm due-time makes submissions due on Saturday (rather than Sunday) for the majority of all students.

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 a partner using pair programming. Except for the reading quizzes and final exam, you are encouraged to work with your partner on everything. However, working with other teams on problem sets or labs 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

Students with Disabilities

Brigham Young University-Idaho is committed to providing a working and learning atmosphere that accommodates qualified persons with disabilities. If you have a disability and require accommodations, please contact the Disability Services Office (Links to an external site.) at (208) 496-9210 or visit their website and follow the Steps for Receiving Accommodations (Links to an external site.). Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with students and instructors by the Disability Services Office.

  • 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.
  • This course may require synchronous meetings. If you are currently registered with the Disability Services Office and need an interpreter or transcriber for these meetings, please contact the deaf and hard of hearing coordinator at (208) 496-9219.

Other University Policies

Student Honor and Other Policies

Please read through the document called University Policies (Links to an external site.). It gives important information about the following topics:

  • Student Honor
    • Academic Honesty
    • Student Conduct
      • Sexual Harassment
  • Student with Disabilities
  • Complaints and Grievances
  • Copyright Notice

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

Course Summary:

Date Details Due