\documentclass{article}
\usepackage{html}
\begin{document}
\begin{center}
\emph{Computer Science CS 4/53401 Secure Programming}\\
Call Numbers 13096 and 13105\\
\textbf{SYLLABUS}\\
Fall, 2014
\end{center}
\begin{description}
\item[Time and Place:]
Monday and Wednesday at 2:15-3:30 in room 108 Smith Hall
\item[Instructor:]
Michael Rothstein, 268 MSB, phone 330-672-9065.
Email address:
rothstei at cs.kent.edu or mrothste at kent.edu;
please do not send email to both addresses with the same topic; I'll simply
get it twice and delete it as spam.
\item[Web address:]
\htmladdnormallink{http://www.cs.kent.edu/~rothstei}
{http://www.cs.kent.edu/~rothstei}
\item[Office Hours:] \hspace{.1in}\\
Monday, Wednesday 12-2; meetings permitting MW 3:30-5.

Also, you can always send email with questions and/or to 
set up an appointment. Usual turnaround will be a few
hours during the day. Email use is to be preferred over voicemail, which will
not be checked as often.
\item[Textbook:] (All of the following are available on Safari Books online).\\
Chess, B and West, J, \emph{Secure Programming with Static Analysis\/},
Addison-Wesley, 2007, ISBN-10: 0321424778, ISBN-13: 978-0321424778.\\
Additional bibliography:
\begin{enumerate}
\item Seacord, Robert C. \emph{Secure Coding in C and C++\/}, 2nd Ed. Addison-Wesley,
  2013, ISBN 978-0-321-82213-0; 0-321-82213-7
\item Seacord, Robert C. \emph{The CERT C Secure Coding Standard\/}, Pearson
  Education, 2009, ISBN-10: 0-321-56321-2; ISBN 13: 978-0-321-56321-7.
\item Howard, Michael and LeBlanc, David \emph{Writing Secure Code\/}, 2nd
  Ed., Microsoft Press, 2003, ISBN 0-7356-1722-8.
\item Howard, Michael and LeBlanc, David \emph{Writing Secure Code for Windows
  Vista\/}, Microsoft Press, 2007.
\item Viega, John and Messier, Matt, \emph{Secure Programming Cookbook for C
  and C++\/}, O'Reilly \& Associates, 2003, ISBN 0-596-00394-3.
\item Rice, David, \emph{Geekonomics, The real cost of Insecure Software\/},
Addison-Wesley, 2008. ISBN-10 0-321-47789-8; ISBN-13: 978-0-321-47789-7
\item Klein, Tobias, \emph{A Bug Hunter's Diary\/} A Guided Tour Through the
  Wilds of Software Security, no starch press, 2011, ISBN: 978-1-59327-385-9,
  1-59327-385-1
\end{enumerate}
In addition, the following websites will be helpful:
\begin{enumerate}
\item
Wikipedia entry ``List of tools for static code anlysis'':

\htmladdnormallink
{http://en.wikipedia.org/wiki/List\_of\_tools\_for\_static\_code\_analysis}
{http://en.wikipedia.org/wiki/List\_of\_tools\_for\_static\_code\_analysis}.
\item
The website for the cppcheck static analysis tool:\\
\htmladdnormallink
{http://cppcheck.sourceforge.net/}{http://cppcheck.sourceforge.net/} or\\
\htmladdnormallink
{http://sourceforge.net/projects/cppcheck/}{http://sourceforge.net/projects/cppcheck/}
(for the source, necesary for use on a MAC or Linux)
\item
The Google checker for google coding style:\\
\htmladdnormallink{http://google-styleguide.googlecode.com/svn/trunk/cpplint/}
{http://google-styleguide.googlecode.com/svn/trunk/cpplint/} together with the
document describing the style:\\
\htmladdnormallink
{http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml}
{http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml}
\item \htmladdnormallink{Splint Home page}{http://www.splint.org/}
Splint is a C static analysis tool.
\item
\htmladdnormallink{Secure Programming for Linux and Unix HOWTO}
{http://www.dwheeler.com/secure-programs/}
\item \htmladdnormallink{2010 CWE/SANS Top 25 Most Dangerous Software Errors}
{http://cwe.mitre.org/}
\item
\htmladdnormallink{CERT Site on Secure Programming}
{http://www.cert.org/secure-coding/}
\item \htmladdnormallink{Splint Home page}{http://www.splint.org/}
\end{enumerate}
There are other sites, feel free to google ``Secure Programming'' or ``Secure Coding''.
\item[Material to be covered:]
The goal of this course is to learn how we can avoid the pitfalls of insecure
programming and how to check for them through static analysis. That was the
goal behind the choice of textbook, even though it is somewhat of
an ``ad book''. The goals trascend the package described in the book.
Even though the book tries to sell a particular static analysis tool, we will
use other tools.
Having said that, we will pretty much follow the book verbatim.
\item[Prerequisites:]
CS 33001 (CS II) and Junior Standing.
\item[Attendance policy]
By initiative of the Provost of the University, I have been charged with
keeping full attendance records, at least for the first ten weeks of the
semester. Though I will not compute these records into your final averages,
when I assign letter grades, I will give you a slightly better grade if
you have a better attendance record.
Notwithstanding the above, if you are absent, there may be material created,
either spontaneously or in response to questions, and covered in the
classroom; often there will not be any written notes of this material, so it
might be a good idea to team up with somebody who keeps good notes to make sure
you have all the material covered. Some of this material may show up in an exam.

Read the text and bibliography. Only general reading assignments will be
given. The tests will be take home. This means that I expect you to do some
research in order to answer the questions.

The class will
mostly cover material in the same order as the text book, there may be
exceptions however. It is the student's responsibility to maintain an
awareness of the material in the text that is currently being covered. Ask the
instructor if you are unsure of the material currently being covered.

The syllabus may be changed during the semester if necesary: changes will be 
announced in class; they might also show up on the instructor's website.

%\newpage
\item[Class disruptions]
Disruptions should be kept to a minimum; these include (in increasing order of
seriousness):
\begin{enumerate}
\item Early departure (if announced and done discreetly: please sit near the
  door so that as few people as possible notice.)
\item Late arrival
\item Use of electronic devices or other devices which may interfere with
  your or other student's participation. Laptops are acceptable for taking
  notes, however, please sit in the last row of the room so that your screen
  does not distract/block other students.
\item Conversation among students.
\item Aiding and/or abetting these or any other student's disruptive behaviors.
\end{enumerate}
Guidelines pertaining to class disruptions are outlined in the
University Rules and Regulations, available at the University Website.

%In summary, serious violators will be subject to:
%\begin{enumerate}
%\item Instructions to cease and desist, usually indicated by class being
%  stopped.
%\item A request for the offender(s) to withdraw from the classroom.
%\item If that fails, Campus Police will be called in.
%\end{enumerate}
%In all cases, the matter will be referred to University Authorities.
%\item[Lab:] This course has a mandatory lab associated with it.
%  \emph{Lab attendance is required.}The lab has a different instructor and
%  details on how the lab is conducted will be given in the lab meetings. The
%  lab instructor gives the lab scores to the lecture instructor. You must pass
%  both the lab and the lecture part of the course to pass the course.
%
%  The lab grade is worth 30\% of the total grade
\item[Grading:]
Your grade will be based on one midterm, one final, programming assignments,
and a ``class participation grade'', based on the number of relevant
questions and comments: specially good questions or catching
my mistakes get extra points.
The weights are:\\ %<><>
\begin{tabular}{lr}
Class Participation & 10\% \\
Midterm (Due October 15 at 10 PM) & 25\% \\
Final (Due Monday December 8 at 10 PM) & 25\%\\
Programming Assignments. & 40\%
\end{tabular}

The final will be comprehensive.
\item[Test make-up policy:]
I will need signed
documentation to verify {\em each} individual absence in order to
provide make-ups; only university accepted reasons will be honored.
%\item[Averaging algorithm:]
%The three tests will be worth 20\%, 30\% and 40\% respectively.
%The exercises are (collectively) worth 10\% of the grade.
%%Each test will be worth 20\%, and the final will be worth 40\%.
\item[Grading scale:]
%(I usually give a grading scale which is quite rigorous: if it is
%in place from the beginning, there is little room for complaint:
%in addition, I DO NOT follow it: I actually use something more like:
%\par
%\begin{tabular}{cl}
%92-100 & for an A\\
%84-91 & for a B\\
%76-83 & for a C\\
%68-75 & for a D
%\end{tabular}
%\par
%or sometimes even lower: a lot depends on the severity of the tests
%and final and your gut feelings. In order to allay their feelings about
%arbitrariness, I fill this space in as follows:)
%\par
I will assign number grades during the session
and only convert them to letter grades when I turn them in at the end
of the session. No decision can be made regarding a conversion table 
until the very last minute due to such imponderables as test difficulty, class
attendance and participation, etc. which will influence the grade. However,
I guarantee the following, worst case, table:
\par
\begin{tabular}{cl}
97-100 & will convert into an A\\  %93
94-96 & will convert into at least an A-\\  %90
91-93 & will convert into at least a B+\\   %87
88-90 & will convert into at least a B\\    %83
85-87 & will convert into at least a B-\\   %80
82-84 & will convert into at least a C+\\   %77
79-81 & will convert into at least a C\\    %73
76-78 & will convert into at least a C-\\   %70
73-75 & will convert into at least a D+\\   %67
66-72 & will convert into at least a D      %60
\end{tabular}
\item[Special accommodations for Students with Disabilities:]
University\\
policy 3342-3-01.3 requires that students with disabilities be
provided reasonable accommodations to ensure their equal access to course
content. If you have a documented disability and require accommodations, please
contact the instructor at the beginning of the semester to make arrangements
for necessary classroom adjustments. Please note, you must first verify your
eligibility for these through Student Accessibility Services (contact
330-672-3391 or visit:\\
\htmladdnormallink{http://www.kent.edu/sas}
{http://www.kent.edu/sas}
for more information on registration
procedures). 
\item[Registration Requirement]: The official registration deadline for this course is
September 07, 2014. University policy requires all students to be officially
registered in each class they are attending. Students who are not officially
registered for a course by published deadlines should not be attending classes
and will not receive credit or a grade for the course. Each student must
confirm enrollment by checking his/her class schedule (using Student Tools in
FlashFast) prior to the deadline indicated. Registration errors must be
corrected prior to the deadline.

The course withdrawal deadline is November 2, 2014.
\item[On cheating, plagiarism and other unethical behavior]
You are encouraged to discuss class problems with other students
but required to work independently of anybody else
except the  instructors and/or tutor, unless otherwise indicated.
Midterms and the final are required to be individual work at all times.
%All work for this class should be done individually.
%In the case of homework, the only cooperation implicitly allowed is that
%students may discuss between themselves the broad outline of the work.
Copying other people's work, allowing your work to be copied (even
inadvertently!) and plagiarizing work will not be tolerated and
will be dealt with according to University regulations,
as described in 
\htmladdnormallink
{the University policy register on cheating}
{http://www.kent.edu/policyreg/policydetails.cfm?customel_datapageid_1976529=2037779}

Notes:
\begin{enumerate}
\item By default, the penalty for cheating in this course is an ``F'' in the course.
\item University regulations require me to notify Student Conduct in case of violations.
\item Cooperation is just as bad as the deed itself: so, deciding
which of two is the original is a non-issue: both are equally guilty.
\end{enumerate}
%{\em Digest of Rules and Regulations}, available through:\\
%\htmladdnormallink{http://www.kent.edu/policyreg/chap3/3-01-8.cfm}
%{http://www.kent.edu/policyreg/chap3/3-01-8.cfm}

\end{description}

\normalsize
%\newpage                                   
%\begin{enumerate}
%
%\item 
%Refuse to accept the work for credit; or
%\item 
%Assign a grade of ``F'' or zero for the project, test, paper, examination or
%other work in which the cheating or plagiarism took
%place; or
%\item 
%Assign a grade of ``F'' for the course in which the cheating or plagiarism
%took place; and/or;
%\item 
%Recommend to the department chair or regional campus dean that further
%action specified in the rule be taken. The
%department chairperson or regional campus dean shall determine whether or not
%to forward to the academic dean or to the
%vice president for the extended university a recommendation for further
%sanction under this rule.
%\end{enumerate}
%
%\subsubsection*{Academic Appeals}
%
%
%The general principle that applies to the following procedures is that an
%appeal is directed to the administrative level immediately above the unit from
%which the appeal emanates.
%
%Appeals are limited to the following reasons:
%
%\begin{enumerate}
%\item[a.]
%The decision is arbitrary or unreasonable,
%\item[b.]
%The decision resulted from a procedural error,
%\item[c.]
%The decision is not in accordance with the facts presented,
%\item[d.]
%New information is available which may suggest modification of the decision.
%\end{enumerate}

\end{document}
