SI340 Theory of Computing
Course Policy, Fall AY18 (v2.0)

Coordinator: Prof. C. W. Brown, x3-6817, wcbrown@usna.edu
Course Description: This course presents the theoretical foundations for computing, including the study of formal languages, finite state machines, pushdown automata, Turing machines and computability.
Credits: 3-0-3
Learning Objectives:
  1. Understand the various models of computation, from both the formal language and the corresponding machine model perspective;
  2. Understand some of the practical applications of these formal models of computation and language; (supports Outcome CS-6)
  3. Apply the mathematical methods that let us describe computation and language in order to understand formal algorithms.
Student Outcomes:
1. Analysis. An ability to analyze a problem, and to identify and define the computing requirements appropriate to its solution.
2. Implementation. An ability to design, implement, and evaluate a computer-based solution to meet a given set of computing requirements in the context of the discipline.
3. Communication. An ability to communicate effectively with a range of audiences about technical information.
4. Ethics. An ability to make informed judgments in computing practice based on legal and ethical principles.
5. Teamwork. An ability to function effectively on teams to establish goals, plan tasks, meet deadlines, manage risk, and produce deliverables.
CS-6. Theory. An ability to apply theory in the design and implementation of computer-based solutions.
CS-7. Reasoning. An ability to reason about and explain computer-based solutions at multiple levels of abstraction.
IT-6. Requirements. An ability to identify and analyze user needs and to take them into account in the selection, integration, evaluation, and administration of computer-based systems.
Textbook(s): (Recommended) Theory of Computing: A Gentle Introduction, Kinber & Smith, Prentice Hall, 2001.
Extra Instruction: Extra instruction (EI) is strongly encouraged and should be scheduled by email with the instructor. EI is not a substitute lecture; students should come prepared with specific questions or problems.
Collaboration: The guidance in the Honor Concept of the Brigade of Midshipmen and the Computer Science Department Honor Policy must be followed at all times. See:

www.usna.edu/CS/resources/honor.php

Specific instructions for this course: All collaboration and outside sources should always be cited. The same rules apply for giving and receiving assistance. If you are unsure whether a certain kind of assistance or collaboration is permitted, you should assume it is not, work individually, and seek clarification from your instructor.
Classroom Conduct: The section leader will record attendance and bring the class to attention at the beginning and end of each class. If the instructor is late more than 5 minutes, the section leader will keep the class in place and report to the Computer Science department office. If the instructor is absent, the section leader will direct the class. Drinks are permitted, but they must be in reclosable containers. Food, alcohol, smoking, smokeless tobacco products, and electronic cigarettes are all prohibited. Cell phones must be silent during class.
Late Policy: Penalties for late submission of graded work may vary among courses or from semester to semester, but they will be the same for all sections of a given course. For this course:
Grading:
6 weeks12 weeks16 weeksFinal
Homework20%20%30%20%
Mid-term exams80%74%64%36%
Video Project--%6%6%6%
Final Exam--%--%--%38%
Total100%100%100%100%