-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsyllabus.html
161 lines (110 loc) · 7.72 KB
/
syllabus.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
---
layout: default
title: Syllabus
---
<h1 class="page-header">{{ page.title }}</h1>
<h2>Software Development<br/> <small>CS 212-01 • Fall 2015 • 4 Credits</small></h2>
<p class="lead">{{ site.data.course.description }}</p>
<h2 class="page-header">Course Details</h2>
<h3>Lectures</h3>
<p>
<i class="fa fa-calendar fa-fw"></i> Mondays, Wednesdays, Fridays • 3:30pm to 4:35pm<br/>
<i class="fa fa-university fa-fw"></i> <a href="https://www.usfca.edu/virtual-tour/main-campus/lo-schiavo">Lo Schiavo</a>, Room G12
</p>
<h3>Instructor</h3>
<p>
<strong><a href="http://sjengle.cs.usfca.edu">Professor Sophie Engle</a></strong><br/>
<i class="fa fa-envelope fa-fw"></i> <a href="mailto:[email protected]">[email protected]</a><br/>
<i class="fa fa-university fa-fw"></i> <a href="https://www.usfca.edu/virtual-tour/main-campus/harney-science">Harney Science Center</a>, Room 531/532
</p>
<p>
<strong>Office Hours:</strong><br/>
Wednesdays • 5:00pm to 6:30pm<br/>
Thursdays • 1:00pm to 2:30pm<br/>
<em>and by appointment</em></li>
</p>
<p>
<strong>Code Reviews:</strong><br/>
Mondays, Wednesdays • 1:00pm to 2:30pm<br/>
Mondays, Thursdays, Fridays • 5:00pm to 6:30pm
</p>
<h3>Teacher Assistant</h3>
<p>
<strong>Ruiqiang Wang</strong><br/>
<i class="fa fa-envelope fa-fw"></i> <a href="mailto:[email protected]">[email protected]</a><br/>
<i class="fa fa-university fa-fw"></i> Harney Science Center, Room 530/535 (CS Labs)
</p>
<p>
<strong>Office Hours:</strong><br/>
Tuesdays • 1:00pm to 2:30pm<br/>
Fridays • 10:00am to 11:30am
</p>
<h3>Prerequisites</h3>
<p>You must have completed CS 112 Introduction to Computer Science II with a grade of C or better.</p>
<p class="text-danger"><i class="fa fa-warning"></i> You may not take CS 112 and CS 212 concurrently.</p>
<h3>Required Materials</h3>
<p>There are no required books for this class. However, it is recommended that students have a Java reference book. Please see the instructor for recommendations.</p>
<h3>Learning Outcomes</h3>
<p>At the end of this course, students should be able to:</p>
<ul>
<li><p>Independently design programs</p></li>
<li><p>Produce professional-quality code</p></li>
<li><p>Implement large programs with at least 2,000 lines of code</p></li>
<li><p>Design and execute tests to identify software bugs</p></li>
<li><p>Repair software bugs, redesigning and refactoring code when necessary</p></li>
<li><p>Utilize, analyze, and critique code written by others</p></li>
</ul>
<p>Assessment of these outcomes will be done by a combination of quizzes, exams, homework, projects, and code review.</p>
<h2 class="page-header">Course Requirements</h2>
<p>This course will be a hybrid flipped classroom, with an emphasis on mastery learning. The majority of the grade will be derived from projects and exams.</p>
<h3>Time Commitment</h3>
<p>This is a {{ site.data.course.credits }} credit course. Lectures will be approximately 65 minutes long, and will consist of a mix of traditional slide-based lectures, interactive code walkthroughs, in-class lab exercises, and in-class quizzes. Students should spend approximately 10 to 20 hours per week minimum outside of class.</p>
<p class="alert alert-warning"><i class="fa fa-clock-o"></i> Think of this class like a part time job. If you do not put in the time, you will not make it to the final project. Many students do not pass due to poor time management!</p>
<h3>Pass Requirements</h3>
<p>To receive a non-failing grade for this course, students must meet the following minimum requirements:</p>
<ul>
<li>Must receive a passing letter grade on at least one exam.</li>
<li>Must pass the functionality tests for a minimum of 2 projects by the withdraw deadline.</li>
<li>Must pass the code review process for a minimum of 3 projects by the end of the semester.</li>
</ul>
<p>Failure to meet 1 or more of the above requirements will result in an F letter grade for this course.</p>
<h3>Grade Breakdown</h3>
<p>Students that meet the minimum requirements will have the final grade for this course calculated based on a mix of assignments (homework and quizzes), exams (midterm and final), and projects. The specific breakdown is as follows:</p>
<p style="margin-left: 2.25em">
10% Assignments<br/>
20% Exams<br/>
70% Projects<br/>
</p>
<h4>Assignments</h4>
<p>Assignments consist of homework exercises and quizzes. Students will often be given class time to work on these assignments, allowing them to get immediate help from the instructor and teacher assistant.</p>
<p>Quizzes will often be given unannounced at the start of class, but students will often be given an opportunity to retake those quizzes during lab time.</p>
<h4>Exams</h4>
<p>There will be two exams. The exams are not comprehensive. Instead of a final exam, you will have a final project.</p>
<p>Finals week will be reserved for interactive project grading. A signup sheet will be posted towards the end of the semester. If you have travel plans during finals week, please confirm your travel dates first with the instructor.</p>
<p class="alert alert-warning"><i class="fa fa-warning"></i> Students must receive a passing letter grade on at least one exam to pass this course.</p>
<h4>Projects</h4>
<p>Project assignments place an emphasis on code quality—it is not enough to achieve correct results. Each project will undergo a rigorous code review checking for specific criteria, such as proper encapsulation and generalization, efficiency, and maintainability. We use a mastery learning approach with projects: students may not move on to the next project until (a) the project produces correct output, and (b) the project passes the code review process.</p>
<p>As such, the project grade will depend on the <em>number</em> of projects completed by each student. The exact grade for each project depends on the submission process. Each student receives one opportunity per project to fix and resubmit the project. Additional resubmissions may result in a point deduction.</p>
<p>Additional details on each project and the project submission process will be posted on the course website.</p>
<p class="alert alert-warning"><i class="fa fa-warning"></i> Students must pass the functionality tests for at least 2 projects by the withdraw deadline, and must pass the code review process for at least 3 projects by the end of the semester to pass this class.</p>
<h3>Grading Scale</h3>
<p>The final letter grade will be assigned according to the following scale:</p>
<table style="margin-left: 2.25em;" cellspacing="0" cellpadding="0"><tbody>
<tr><td>A+</td><td> ≥ </td><td>97%</td></tr>
<tr><td>A </td><td> ≥ </td><td>94%</td></tr>
<tr><td>A–</td><td> ≥ </td><td>90%</td></tr>
<tr><td>B+</td><td> ≥ </td><td>87%</td></tr>
<tr><td>B </td><td> ≥ </td><td>84%</td></tr>
<tr><td>B–</td><td> ≥ </td><td>80%</td></tr>
<tr><td>C+</td><td> ≥ </td><td>77%</td></tr>
<tr><td>C </td><td> ≥ </td><td>74%</td></tr>
<tr><td>C–</td><td> ≥ </td><td>70%</td></tr>
<tr><td>D+</td><td> ≥ </td><td>67%</td></tr>
<tr><td>D </td><td> ≥ </td><td>64%</td></tr>
<tr><td>D–</td><td> ≥ </td><td>60%</td></tr>
<tr><td>F </td><td> < </td><td>60%</td></tr>
</tbody>
</table>
<p>For example, you will receive a C letter grade if your grade is greater than or equal to 70% and less than 77%. Please note this scale is subject to change. See the <a href="https://www.usfca.edu/catalog/regulations/student">Undergraduate Student Regulations</a> for more information about letter grades and how they are translated into GPA.</p>
{% include policies.html %}
{% include resources.html %}