623 SP 25 Syl
623 SP 25 Syl
Course Syllabus 1 1
The course was formerly listed under
the name CIS 623 Structured Program-
ming and Formal Methods
The instructor may revise any aspects of
the syllabus, when needed, to meet the
course objectives.
General Information
A. Lectures
B. Instructor information
Teaching staff (s) TBA in our blackboard’s site. Table 3: Staff(s) information
Email: Same as above.
Office hours: Same as above.
https://www.syracuse.edu/staysafe/
cis 623 assured programming with formal methods 2
Course information
B. Texts
Programming in Haskell, 2 by Graham Hutton, Cambridge Univer- 2
Required text. Library reserve. See
sity Press, 2nd ed., 2016, ISBN 978-1316626221. also:
https://www.cs.nott.ac.uk/~pszgmh/
pih.html
Course goals
This course aims to teach students programming and reasoning
skills coming from modern software development practices. It
targets the design, implementation, testing, and verification of soft-
ware components, particularly those in functional programming
languages. Students study core concepts within the computer
security discipline, including access control, confidentiality, and
integrity security policies, upon which secured software systems
cis 623 assured programming with formal methods 3
Course schedule
Week Topic
1 Course Introduction and Organization & Preliminaries
2 Beginning steps in Functional Programming and Access Control
3 A logical language of access control: Syntax
Defining functions and an Introduction to Recursion
4-5 Core Functional Programming Methods I:
Recursion, List Comprehensions and Program Testing
A logical language of access control: Semantics.
6-7 Core Functional Programming Methods II:
Data declarations, algebraic data types and Type classes.
Access Control Logic : Reasoning via inference rules.
8 Midterm review and Midterm
9 Higher order functions I
Access control mechanisms: Tickets and lists.
10 Higher order functions II
Case study 1: Implementing access control logic.
11 -12 Case study 2: Implementing queues with testing
Access control policies:
Discretionary Security Policies, its vulnerabilities, and
Mandatory Security Policies.
Access control policies: Bell La-Padula and Biba Policies.
13 Case study 3: Applying program development .
(specification, testing etc.) skills from the functional
programming framework to imperative programming (example,
implementation of a data structure)
14 Course review. Review for final.
Remarks
Course Schedule The above schedule is a tentative schedule based on previous offerings of this course. The
topics may be re-ordered and the emphasis may be adjusted during the semester to meet the course
objectives.
Readings/Activities and Assignments Required readings and activities are assigned regularly. There will be
Homework sets assigned within the semester.
Online version This class also serves the students registered in our online program(s). The schedule for the
online offerings are adjusted to cover the same content in the same order.
cis 623 assured programming with formal methods 5
Assessment
A. Coursework (35%)
Coursework includes both activities and homework sets.
• Activities (15%):
You are expected to attend all lectures and participate actively in
the activities (both in-class and after-class) given.
• Homework (20%):
They may include both programming and non-programming (i.e.
written solutions to problems, essays or reports) questions.
B. Quizzes (10%)
In class quizzes will be given.
C. Midterm (25%)
The midterm is an one hour written test (in-class).
D. Final (30%)
The final is an one and a half hour written test (in-class).
D. Letter grade
After completion of the course, the letter grade will be issued to each
student for GPA calculations, which is an overall assessment based
on the criteria stated in A. B. and C. This course is a core course
for MSCS student, and (as a core course) a student is assigned an
additional letter grade based solely on his/her performance in the
final comprehensive examination of the course. The details can be
found in
cis 623 assured programming with formal methods 6
https://ecs.syracuse.edu/academics/electrical-engineering-and-computer-science/
programs/computer-science-master-program)
Overall total percentage is at least Letter grade will be at least Grade Point/credit
95 A 4.00
90 A- 3.66
85 B+ 3.33
80 B 3.00
75 B- 2.66
70 C+ 2.33
60 C 2.00
50 C- 1.66
0 F 0
Important Note: The overall total percentage must be at least 40% to ensure a C- or higher letter grade.
Policies
D. Grade data
As a final note, your grade data are recorded in the Blackboard sys-
tem. It is your responsibility to check them regularly, and inform us
promptly when any discrepancies are found.
Academic integrity
A. University policy
As a pre-eminent and inclusive student-focused research institution,
Syracuse University considers academic integrity at the forefront of
learning, serving as a core value and guiding pillar of education.
cis 623 assured programming with formal methods 8
https://policies.syr.edu/policies/academic-rules-student-responsibilities-and-services/
academic-integrity-policy/
https://class.syr.edu/wp-content/uploads/2018/08/Academic-Integrity-Policy-Violation-and-Sanction-Classification-Rubric-Updated-081018.
pdf
B. Reference
The following book,
Charles Lipson, Doing Honest Work in College: How to Prepare Cita-
tions, Avoid Plagiarism, and Achieve Real Academic Success, Second
Edition, The University of Chicago Press, Chicago, Illinois, 2008.
is an important resource for students to successfully navigate the academic-
integrity waters during their collegiate career. It introduces the three basic
tenets of academic honesty, and also provides excellent suggestions for
studying for exams, working in groups, writing research papers, and other
tasks students will encounter as college students. I strongly recommend this
text to all students.
cis 623 assured programming with formal methods 10
Accommodations
Our community values diversity and seeks to promote meaningful access
to educational opportunities for all students. Syracuse University and I are
committed to your success and to supporting Section 504 of the Rehabilita-
tion Act of 1973 as amended and the Americans with Disabilities Act ( 1990 ).
This means that in general no individual who is otherwise qualified shall
be excluded from participation in, be denied benefits of, or be subjected to
discrimination under any program or activity, solely by reason of having
a disability. If you believe that you need accommodations for a disability,
please contact the Center of Disability Services (CDS),
https://disabilityresources.syr.edu/
Religious Observations
SU’s religious observances policy, found at
https://policies.syr.edu/policies/university-governance-ethics-integrity-and-legal-compliance/
religious-observances-policy/
recognizes the diversity of faiths represented among the campus com-
munity and protects the rights of students, faculty, and staff to observe
religious holy days according to their tradition. Under the policy, students
are provided an opportunity to make up any examination, study, or work
requirements that may be missed due to a religious observance provided
they notify their instructors before the end of the second week of classes. For
fall and spring semesters, an online notification process is available through
MySlice/Student Services/Enrollment/My Religious Observances from the
first day of class until the end of the second week of class.
Student work prepared for University courses in any media may be used
for educational purposes. You grant permission to have your work used in
this manner by registering for, and by continuing to be enrolled in this course
Educational use of student work,
1: I intend to use academic work that you complete this semester for edu-
cational purposes in this course during this semester. Your registration and
continued enrollment constitute your permission. Educational use of student
work,
cis 623 assured programming with formal methods 11
2: I intend to use academic work that you complete this semester in sub-
sequent semesters for educational purposes. Before using your work for
that purpose, I will either get your written permission or render the work
anonymous by removing all your personal identification.