Course Syllabus
Overview
This course will focus on designing and debugging programs consisting of multiple functions. An emphasis will be placed on problem solving and analysis skills.
Requirements
Prerequisites
Students should take the following courses:
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.
The course provides a textbook: Software Design, by James Helfrich. This will be available through Kendall Hunt. Through the course of the semester, you will need to read all of Unit 1, totaling ten 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, including tutorials and Python references.
You will need to 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 algorithm design. There are no grades directly associated with the reading.
Structure
Course Outcomes
CSE 131 is the second class in a seven-class software design sequence. If you complete all the readings, problem sets, and labs, you will be able to do the following:
- Explain the syntax, purpose, and use of design tools as they relate to modularization
- Explain and use design metrics as they relate to modularization
- Identify and explain design trade-offs
- 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 as an independent programmer
Major Assignments
The table below is meant to help you see the relevance of each major assignment as it pertains to the course outcomes (CO).
Major Assignment | Description | CO# |
---|---|---|
W13 Final Exam | Cumulative Exam | 1.2.3.4.5.6.7 |
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 the material and take a quiz. |
End of Week | Teach One Another | Developer's Forum | Answer questions posed by the instructor. |
End of Week | Prove | Lab | Create a program to solve a problem. |
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.
*Set your time zone in User Settings so that the dates and times for course activities will display correctly for your time zone.
Learning Model
Students will prepare for each week by reading the required chapter and completing a quiz. They will teach one another by answering questions posed by the instructor in the discussion board. They will also ask and answer one another's questions there. Students will then prove what they have learned by completing a programming assignment each week.
Expectations
In order to help you meet these objectives, CSE 131 will offer the following learning activities: reading, reading quiz, problem sets, weekly programming labs, and a final exam
Feedback
You can expect to receive grades and feedback within 7 days of the due date for all assignments.
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 will be 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 five 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. The reading quizzes will account for 15% of your overall grade in the class for online students, 20% for campus students.
Developer's Forum/Problem Sets
The course provides a collection of exercises, problems, and challenges. The exercises are designed to test 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.
For online sections, the problem sets will be posted by the instructor on a regular basis. Solutions to the problem sets are provided through the discussion board for online sections and in class for the campus sections. This will be 15% of your overall grade for online students, 0% for campus students.
You will need to work through these problem sets in class or online. Some are to be tackled individually, some in small groups, and some as a class.
By completing these problem sets, you will be well prepared to tackle the weekly programming lab.
Weekly Programming Labs
The course provides twelve labs. Seven are programming labs, where a working Python program will be developed. Five are design labs, where a design solution (in pseudocode or flowchart) 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 three hours to complete.
By completing the projects, you will master the various procedural programming constructs, develop problem-solving skills, and learn how to debug programs. The labs will account for 60% of your overall grade, about 6% for each submission.
Feedback is left on every lab. To find feedback on labs, use the following steps:
- Select Grades.
- To the right of the activity (Assignment/Discussion/Quiz) for which you wish to see feedback.
- Select
to view instructor comments.
- Select
to view rubrics.
- Select
Here are additional tutorials.
Final Exams
The course provides a final exam, covering everything we learned about the entire semester. The course also provides two practice final exams with which you can measure your readiness for the final exam. The instructor will provide immediate feedback on your performance on each exam.
You will need to review the problems presented in the back of each chapter to prepare for the test. These tests are to be completed in a closed-book format without reference to the internet or the textbook. You will also need to complete the practice exam several times until you have achieved mastery over all aspects of the class.
By studying for the exam, you will develop a mastery of the skill of reading code and identifying common pitfalls. The final exam is worth 10% of your overall grade in the class for online students, 20% for campus students.
Late Work
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.
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. Some examples of good excuses would be death in a family, illness requiring a doctor visit, etc. Examples of bad excuses include: 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 email) agreement, then the assignment due date remains.
Working with other members of the class on the labs or copying solutions from the internet is prohibited. You can get help on the Python language, but not on how to solve problems. 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 .
Grading Scale
There are four components to your overall grade:
Activity | Online | Campus | Description |
---|---|---|---|
Reading | 15% | 20% | Twelve reading quizzes, five attempts, due before the first class of the week |
Developer's Forum | 15% | 0% | Twelve Developer's Forum discussion boards, keep posting until you reach 100% |
Labs | 60% | 60% | Twelve design and programming problems, due each Saturday night at 5:00pm |
Final Exams | 10% | 20% | One final due on the last day of class |
Standard BYU-Idaho Grading Scale | |||||||
---|---|---|---|---|---|---|---|
93-100% | A | 90-92.9% | A- | 87-89.9% | B+ | ||
83-86.9% | B | 80-82.9% | B- | 77-79.9% | C+ | ||
73-76.9% | C | 70-72.9% | C- | 67-69.9% | D+ | ||
63-66.9% | D | 60-62.9% | D- | Below 60% | F |
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 at (208) 496-9210 or visit their website and follow the Steps for Receiving Accommodations. 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. 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 |
---|---|---|