-
Notifications
You must be signed in to change notification settings - Fork 8
/
syllabus.tex
203 lines (170 loc) · 7.94 KB
/
syllabus.tex
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
\documentclass[11pt,onecolumn]{article}
\usepackage{amsmath,amssymb,setspace,hyperref,graphicx,multirow}
\setlength{\pdfpagewidth}{8.5in}
\setlength{\pdfpageheight}{11in}
\setlength{\evensidemargin}{-0.1in} \setlength{\oddsidemargin}{-0.1in}
\setlength{\textwidth}{6.75in} \setlength{\textheight}{9.75in}
\setlength{\topmargin}{-0.33in} \setlength{\headheight}{0in}
\newcounter{qNum}
\setcounter{qNum}{1}
\newcommand{\q}[1]{\vspace*{0.1in} \noindent
\arabic{qNum}.(#1)~\stepcounter{qNum}}
%\makeatletter
%\def\url@leostyle{%
% \@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\scriptsize\ttfamily}}}
%\makeatother
%\urlstyle{leo}
\newcommand{\squishlist}{
\begin{list}{$\bullet$}
{ \setlength{\itemsep}{0pt}
\setlength{\parsep}{3pt}
\setlength{\topsep}{3pt}
\setlength{\partopsep}{0pt}
\setlength{\leftmargin}{1.5em}
\setlength{\labelwidth}{1em}
\setlength{\labelsep}{0.5em} } }
\newcommand{\squishend}{
\end{list} }
\newenvironment{changemargin}[1]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{1em}
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}{\end{list}}
\begin{document}
\pagestyle{empty}
\renewcommand{\arraystretch}{0.92}
\begin{center}
\begin{Large}
Introduction to Methods of Software Engineering\\
SE 101, Fall 2016\\[1em]
\end{Large}
\begin{large}
Patrick Lam
\end{large}
\end{center}
\section*{Brief Overview}
This half-weight course introduces you to the Software Engineering programme and to engineering as a profession. The focus is more on soft skills (which are super important!) rather than hard technical skills, although you will still be writing software for the course project.
\paragraph{Objectives.}
By the end of this course, you will have demonstrated:
\squishlist
\item writing meaningful paragraphs of English text;
\item discussing and summarizing engineering professionalism and ethics case studies, proposing a course of action;
\item discussing and summarizing intellectual property as it applies to you as a student, employee and entrepreneur (differentiating different IP protection mechanisms), as well as revenue models associated with software companies;
\item describing key software engineering activities, including requirements elicitation, design, and testing; and
\item writing C code to control a Tiva C Series board (and committing it to a version control system).
\squishend
\paragraph{Calendar Description.}
\begin{quote}
An introduction to some of the basic methods and principles used by software engineers, including fundamentals of technical communication, measurement, analysis, and design. Some aspects of the software engineering profession, including standards, safety and intellectual property. Professional development including r\'esum\'e skills, interview skills, and preparation for co-op terms.
\end{quote}
\section*{General Information}
\paragraph{Course Web Page/git repository.}
The best way to pull course updates in one shot is by cloning the following repository:
\begin{center}
\url{https://github.com/patricklam/se101-f16}.
\end{center}
You can also consult \url{https://patricklam.ca/se101-f16}. Some students prefer LEARN. We'll mirror updates on LEARN. And, consult Piazza for course discussions.
\newpage
\paragraph{Course staff.}~\\[1em]
\begin{tabular}{ll}
{\bf Instructor} & Patrick Lam, se-director@uwaterloo.ca\\
Office Hours:& DC 2597C; Wednesdays 11:30--12:30, or by appointment,\\
& or if \url{https://patricklam.ca/in} says so.\\ \\
What to call me:& ``Patrick,'' or if you must: ``Prof.~Lam,'' or ``Dr.~Lam.''\\
What not to call me:& ``Mr. Lam''\\ \\
{\bf Teaching Assistant} &
Rollen D'Souza, rs2dsouz@uwaterloo.ca\\
Office Hours:& SE lab, DC 2577; Tuesdays 16:00--17:00\\[1em]
{\bf Teaching Assistant (WEEF)} &
Abdallah Arar, anarar@uwaterloo.ca\\
Office Hours:& E2-1309; Mondays 11:30--12:30 \\
\end{tabular}
\section*{Schedule}
\begin{tabular}{ @{\hspace{0.25in}}l l }
When \& where: & Lectures: T, 12:30--13:20, MC 1085; except: \\
& \hspace*{0.5in} Thursday, Oct.~13, follows Tuesday schedule\\
& \hspace*{0.5in} Oct.~18, midterm week, no lecture\\[0.5em]
& Seminar: T, 13:30--14:20, MC 1085, usually not held; exceptions include:\\
& \hspace*{0.5in} Sept.~13, Co-op session\\
& \hspace*{0.5in} Sept.~20, Co-op session\\
& \hspace*{0.5in} Oct.~4, Co-op session \\[0.5em]
& Labs: Th, 11:30--13:20, CPH 1346, ``open labs,'' but also: \\
& \hspace*{0.5in} Sept.~22, introduction to Lab 1\\
& \hspace*{0.5in} Sept.~29, Lab 1 demos (mandatory)\\
& \hspace*{0.5in} Oct.~6, overview towards Lab Project\\
& \hspace*{0.5in} Oct.~13, virtual Tuesday\\
& \hspace*{0.5in} Oct.~27, feedback on proposals for Lab Project\\
& \hspace*{0.5in} Nov.~3, Diversity 2\\
& \hspace*{0.5in} Dec.~1, Lab Project demos (mandatory)\\
\end{tabular}
\section*{Textbook}
None.
\section*{Grading Scheme}
\begin{tabular}{ @{\hspace{0.25in}}l lr }
& In-class quizzes + short assignments &30\%\\
& Lab 1& 15\%\\
& Lab Project (teams of 2)& 50\%\\
& Co-op& 5\% \\
& ``activity about the transition to Waterloo Engineering'' & 1\% bonus\\
\end{tabular}
\vspace*{1em} \noindent There will be 6 in-class quizzes or take-home assignments, as well as
the writing assignment, resulting in 7 marks. I'll take your best 6 marks for your
in-class quiz/short assignment mark. I'll announce the quizzes on Piazza the week
before.
\vspace*{1em} \noindent There will be a separate handout with more details on the Lab Project.
\newpage
\section*{Weekly Lecture Schedule}
Here's my current best guess at the week-to-week lecture schedule for the term.
\squishlist
\item Week 1: What is CS/what is SE? Peanut Butter \& Honey sandwich exercise.
\item Week 2: How to Student.
\item Week 3: Intellectual Property / Startups / Money and the Internet.
\item Week 4: Communication.
\item Week 5: Communication.
\item Week 6: no lecture (midterm week)
\item Week 7: About large-scale Software Engineering (vs small-batch artisanal coding).
\item Week 8: Security (guest lecture by Mahesh Tripunitara).
\item Week 9: Program efficiency.
\item Week 10: Professionalism/ethics case studies.
\item Week 11: Professionalism/ethics case studies.
\item Week 12: Licensing/standards/the environment.
\squishend
I'm also going to incorporate a preview of your curriculum every week.
\section*{Due Dates}
\squishlist
\item Sep 19, 5:59PM: resume quiz on LEARN
\item Sep 23, 5:59PM: schedule appointment for resume critique
\item Sep 29: Lab 1 submission/demos
\item Oct 20: Lab Project proposals
\item Oct 25: Short writing assignment (1 page); details to follow
\item Dec 01: Lab Project demos
\squishend
\section*{Policies}
\paragraph{Collaboration.} I encourage collaboration, but I condemn
plagiarism: copying penalizes students who do the work. I will therefore
be reporting any cases of plagiarism that I detect.
You are expected to collaborate within your team. Also, you may
discuss ideas, design alternatives, and help each other debug small
fragments of code. Each team must submit their own,
independently-developed, code for each lab. A good heuristic is
``look, but don't write:'' you can look at other teams' code, but
don't do that anywhere that you might be writing your own code.
To be precise, teams are not permitted to share code electronically
or in written form.
\begin{tabular}{ @{\hspace{0.25in}}l l }
Lateness: & No late submissions accepted. \\
Academic integrity: & \url{http://uwaterloo.ca/academicintegrity/}\\
Petition \& Grievance:
& \url{http://secretariat.uwaterloo.ca/Policies/policy70.htm}\\
Discipline: & \url{http://secretariat.uwaterloo.ca/Policies/policy71.htm} \\
Penalties:
& \url{http://secretariat.uwaterloo.ca/guidelines/penaltyguidelines.htm}\\
Appeals: & \url{http://secretariat.uwaterloo.ca/Policies/policy72.htm} \\
AccessAbility: & \url{https://uwaterloo.ca/disability-services/}
\end{tabular}
\end{document}