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.
Prerequisites
Students should take the following courses:
Textbook
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. Throughout 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 modularization 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
Parts of the Class
The table below displays typical weekly activities, due dates, and activity descriptions.
Time and Date | Learning Model | Activity Title | Description |
---|---|---|---|
Beginning of Week | Prepare | Reading | Read the material and take a quiz. |
During the Week | Teach One Another | Developer's Forum/Problem Sets | Answer questions posed by 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:00p.m. 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.
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.
Reading quiz
The course has a reading quiz associated with each chapter in the book. The reading quiz covers all the fact and 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 has 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.
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. There are no grades directly associated with the problem sets for campus students, and 15% of your grade for online students.
Weekly Programming Labs
The course has 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 has a final exam, covering everything we learned about the entire semester. The course also has 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.
Course Policies
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 for the labs is also not accepted in this class. The reason for this policy is that solutions will be posted immediately upon the due date. This is so you get immediate and detailed feedback on the lab right when it is most useful and relevant to you. If late work was accepted, then you would have to wait days or weeks until you could see the solution and understand why it was done a certain way. Studies have shows that the usefulness of feedback decreases drastically when it is delayed.
If a problem arises, you must contact your instructor 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, and so on. If a special accommodation needs to be made, a new plan needs to be created. This plan is to be created by the student and will address three things: what the student will do (perhaps an alternate assignment? when will it be due?), what the instructor will do (grade it, I presume), and how it will be graded. The student will also need to make a case that the plan is fair to the student (who wants a grade for his or her work) and the rest of the class (who is following the standard plan that is part of the class). When the instructor and student both agree on this plan, then it will be used to replace the missed assignment.
Health Challenges
A growing number of students are experiencing mental health challenges to varying degrees. Doing what you can to stay ahead and on top of depression or anxiety by wisely taking care of yourself will be a key to succeeding academically. But even then, sometimes these challenges can affect your ability to complete the required work. Or a particular assignment might trigger anxiety for you in ways I have not anticipated. Or maybe you reach a point where you just can’t get yourself to class at all.
In any of those cases, please come and talk with me or at least send me an email. I’ll listen and do what I can to help. But the sooner you share your challenges with me, the better I can help. To pass the course or earn an A, you’ll still need to do every bit as much work as other students, but we may be able to find some creative ways to help you do that—especially if you approach me when your problems arise, instead of at the end of the semester.
Doing Your Own Work
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
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 |
The American filmmaker Woody Allen said, "80% of success is showing up." This is true in school, in the workplace, and in life! To help with this, we have an attendance policy.
For campus students, there is one other element to your grade: the attendance incentive. If you are present in every class period, then you can choose your bonus: either the lowest grade will be dropped or a late penalty will we waived. If you miss one or two class periods, then there will be no impact on your grade. If you miss three of four class periods, then one grade sign will be deduced from your final grade (A- to a B+, for example). If you miss five to six class periods, then two grade signs will be deducted. Seven or more missed class periods will result in a full letter grade reduction.
Number grades are converted to letter grades using the following scale:
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. 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
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 |
---|---|---|