forked from csulb-cecs282-2015sp/syllabus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsyllabus.html
243 lines (236 loc) · 10.9 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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="generator" content="http://www.nongnu.org/elyxer/"/>
<meta name="create-date" content="2015-01-14"/>
<link rel="stylesheet" href="http://elyxer.nongnu.org/lyx.css" type="text/css" media="all"/>
<title>Converted document</title>
</head>
<body>
<div id="globalWrapper">
<h1 class="Part-">
<a class="toc" name="toc-Part--I"></a><b>Course Syllabus for CECS 282: <br/>
C++ For Java Programmers<br/>
Spring 2015</b>
</h1>
<div class="Unindented">
Department of Computer Engineering and Computer Science, <br/>
California State University, Long Beach
</div>
<div class="Indented">
<b>Instructor</b>: Neal Terrell<b><span class="hfill"> </span>Email</b>: neal.terrell@csulb.edu<b><span class="hfill"> </span>Office</b>: VEC 404A<b><br/>
Office hours</b>: MW 10:15 - 10:45am; TuTh 10:00 - 11:00am; 3:00 - 3:30pm
</div>
<h1 class="Section-">
<a class="toc" name="toc-Section--1"></a>Course Description
</h1>
<div class="Unindented">
Structured and Object Oriented Programming in C++. Common features and differences between Java and C++. Pointers, references, and memory management, stream I/O, classes, operator overloading, exception handling, STL.
</div>
<div class="Indented">
Pre-requisites: CECS 274
</div>
<h1 class="Section-">
<a class="toc" name="toc-Section--2"></a>Course Materials
</h1>
<div class="Unindented">
<b>Required</b>: <i>C++ How to Program</i>, Dietel, Paul. Prentice Hall, 2014.<br/>
This is an online resource available through the library’s COAST system. <br/>
Easy link: <tt>https://coast.library.csulb.edu/record=b2898460~S7</tt>. You will need to create and log in to a library account.
</div>
<div class="Indented">
Code from lectures will be posted in advance on GitHub. You will be expected to download code files and have them available for lecture, either by printing them or bringing them on a laptop. <br/>
GitHub link: <tt>https://github.com/csulb-cecs282-2015sp</tt>
</div>
<div class="Indented">
Supplementary material outside of the class textbook will be presented and included in tests, learning activities and programming projects. Links to additional material will be posted on the course website.
</div>
<h1 class="Section-">
<a class="toc" name="toc-Section--3"></a>Grading
</h1>
<h2 class="Subsection-">
<a class="toc" name="toc-Subsection--1"></a>Components
</h2>
<ul>
<li>
Labs - 10
</li>
<li>
Projects - 10
</li>
<li>
Homework - 10
</li>
<li>
Midterms - 40
</li>
<li>
Final - 30
</li>
</ul>
<h2 class="Subsection-">
<a class="toc" name="toc-Subsection--2"></a>Rules
</h2>
<div class="Unindented">
<b>Labs </b>are short programming assignments designed to be completed during the class’ allotted lab time; approximately 5-10 will be assigned over the semester.
</div>
<ul>
<li>
Lab assignments will include a programming portion, and some may also include problem solving, writing, or other disciplines.
</li>
<li>
All labs will have an assigned due date, and must be turned in to me by the end of the class lab period on the due date. I will only accept lab submissions in person, and not via email or other medium. You are welcome to work on lab assignments at home, but assistance will only be provided during class time and office hours.
</li>
<li>
Most labs will be submitted with a printout of your code. Some will require additional deliverables.
</li>
<li>
Labs will be graded on adherence to the class C++ style guide (below) and correct answers to required deliverables.
</li>
</ul>
<div class="Unindented">
<b>Projects </b>are longer programming assignments designed to require a significant investment of time. You will be assigned 2-3 projects during the semester.
</div>
<ul>
<li>
Unlike labs, your projects will be graded in person by me during the lab period. You will demo your project to me and I will test it to make sure it performs correctly. At the end of the test, you will receive either a Pass or a No-Pass grade.
</li>
<li>
You should only count on receiving one grade check during a lab period, because others will also be waiting for a grade check. Make sure to test your projects thoroughly and <b>don’t simply assume that whatever you wrote happens to work perfectly</b>.
</li>
<li>
If you receive a No-Pass grade check, you will need to fix your errors and request another check when you are done. You can resubmit as many times as it takes to get a Pass grade; indeed, you <b>must</b> resubmit and Pass all projects in order to pass the class (see Mandatory Completion below).
</li>
<li>
Grade checks will test <b>both</b> your program’s behavior <b>and its adherence to the class C++ style guide</b>. A perfectly-behaving project can receive a No-Pass grade if it has too many style errors.
</li>
</ul>
<div class="Unindented">
<b>Homework </b>will be assigned approximately weekly, and will mostly involve written work.
</div>
<ul>
<li>
Homework assignments are due <b>at the beginning of class</b> on their due date.
</li>
<li>
Homework may include writing code, doing research, debugging programs, and other disciplines.
</li>
</ul>
<div class="Unindented">
<b>Midterms, quizzes, and final</b> are closed-notes and closed-book. Please use the bathroom BEFORE taking the exam. BATHROOM BREAKS DURING EXAMS ARE NOT ALLOWED. MAKE-UP EXAMS ARE ONLY PROVIDED WHEN THERE IS DOCUMENTED EVIDENCE OF ACCIDENT OR ILLNESS.
</div>
<h3 class="Subsubsection-">
<a class="toc" name="toc-Subsubsection--1"></a>Late penalties
</h3>
<div class="Unindented">
labs, projects, and homework will be assessed a 5% late penalty <i>per calendary day</i> they are late, to a maximum penalty of 60%. <b>I do not accept assignments via email or fax</b>. If you want to turn something in during the week, you may do so at the CECS Department Office, or by finding me during a lab period for any of my other classes.
</div>
<h3 class="Subsubsection-">
<a class="toc" name="toc-Subsubsection--2"></a>Mandatory completion
</h3>
<div class="Unindented">
<i>you must complete the projects and labs in order to pass the class</i>.
</div>
<ul>
<li>
Projects in particular are quite demanding, so start early.
</li>
<li>
You will receive full credit for all accepted projects, minus any late penalties — thus, your grade on these components is purely a function of how timely you are with your completion.
</li>
</ul>
<h1 class="Section-">
<a class="toc" name="toc-Section--4"></a>Topics
</h1>
<div class="Unindented">
A brief, approximate list of topics we will cover:
</div>
<ul>
<li>
The C++ compilation process
</li>
<li>
Fundamental data types
</li>
<li>
Input and output streams
</li>
<li>
Pointers, references, and arrays
</li>
<li>
Functions and parameters; pass by value vs. pass by reference
</li>
<li>
The C++ memory model and dynamic memory management
</li>
<li>
Class design: methods, members, friends, inheritance, multiple inheritance
</li>
<li>
Operator overloading
</li>
<li>
Polymorphism, virtual methods, abstract classes
</li>
<li>
Templates
</li>
<li>
The C++ Standard Library
</li>
</ul>
<h1 class="Section-">
<a class="toc" name="toc-Section--5"></a>Computer Software
</h1>
<div class="Unindented">
We will use <b>Microsoft Visual Studio Express 2013 For Windows Desktop</b> (Visual Studio 2013) as our official editor for writing C++ code. You may use another editor, but I will probably not be able to help you with it. (Sorry, Mac users.)
</div>
<h1 class="Section-">
<a class="toc" name="toc-Section--6"></a>Accessibility
</h1>
<div class="Unindented">
DISABLED STUDENT SERVICES is a student support program within the Student Services Division. Our mission is to assist students with disabilities as they secure their university degrees at California State University, Long Beach. We provide services to over 13,000 students each semester. Over 3,000 students with disabilities have graduated from C S U Long Beach with support from our program.
</div>
<div class="Indented">
The Disabled Student Services office is located on the 2nd floor in the Administration Building, room SS/AD 270.
</div>
<div class="Indented">
<b>It is your responsibility to notify the instructor</b> <u>in advance</u> of any need for special accommodation due to a university verified disability.
</div>
<h1 class="Section-">
<a class="toc" name="toc-Section--7"></a>Attendance and Drops
</h1>
<div class="Unindented">
Attendance is not required, but all material presented during lecture or lab is fair game for exam questions. I will not redo a lecture for people who missed it the first time. If you miss a class day, it is your responsibility to obtain notes from someone who attended. I do not give “pop” quizzes.
</div>
<div class="Indented">
Absences will not excuse you from turning in lab or project assignments on time. You are given plenty of time to complete these assignments, so pace yourself and plan to finish them early in case an emergency causes you to miss a day of class.
</div>
<div class="Indented">
I will honor drop requests where permitted by university policy.
</div>
<h1 class="Section-">
<a class="toc" name="toc-Section--8"></a>Academic Honesty
</h1>
<div class="Unindented">
All assignments in this class are designated as <i>individual work only</i>. You may discuss ideas with others, but you may not share code, algorithms, or solutions with <i>any</i> individual on <i>any </i>of the class assignments. <b>Anything with your name on it must be written by you.</b> If you cannot complete an assignment on your own, the correct approach is to ask <i>me</i> for help during lab or office hours.
</div>
<div class="Indented">
You are not in high school, where cheating is “against the rules” but not actually punished. If I catch you sharing code, discussing solutions, exchanging test cases, or in any way collaborating about one of the assignments, I will assign you an “F” grade in the course and report your cheating to the administration. This goes for <b>all parties involved</b>. This<b> </b>is for your own good. You will not make it in this discipline if you cannot write difficult code on your own.
</div>
<div class="Indented">
At random points in the semester you may be asked by me to explain parts of an assignment you have turned in. If you are unable to answer simple questions about your code to my satisfaction, you will be given a 0 grade for the assignment, and I will investigate whether you have been violating the restrictions above.
</div>
<div class="Indented">
All instances of plagiarism or cheating, no matter how slight, will result in a course grade of “F” and a report to the administration.
</div>
<hr class="footer"/>
<div class="footer" id="generated-by">
Document generated by <a href="http://elyxer.nongnu.org/">eLyXer 1.2.5 (2013-03-10)</a> on <span class="create-date">2015-01-14T22:13:38.428000</span>
</div>
</div>
</body>
</html>