An introduction to the concepts found in a variety of programming languages. Programming languages as tools for problem solving. A brief introduction to languages from a number of different paradigms.
- CS 261
- MTH 231 or CS225
Julianne Coffman ([email protected])
Email should be a secondary with the primary contact being Canvas messaging.
TR 2:00 – 3:50pm in LINC 210 (4/3 to 6/9)
- Concepts of Programming Languages by Robert W. Sebesta, 12th Edition.
- CS 381 Class Notes by Dr. Martin Erwig
Announcements, office hours, weekly homework assignments, readings and other course information will be placed on Canvas.
On completion of the course, students should be able to perform the following tasks.
- Create functional programs using algebraic data types and recursive functions.
- Produce and explain the type and result of an expression in the context of functional programming.
- Produce an abstract syntax for a language given its concrete syntax.
- Create a denotational semantics for a language given its abstract syntax and an informal specification of its behavior.
- Produce and explain the behavior of a program under static vs. dynamic typing, and discuss the benefits and drawbacks of each approach.
- Produce and explain a program’s output under static vs. dynamic scoping of names.
- Produce and explain a program’s output under different parameter passing schemes, such as call-by-value vs. call-by-name vs. call-by-need.
- Create logic programs and express queries using predicates.
Makeup exams take a considerable effort to schedule, so they will not be given under normal circumstances. Any requests for makeup exams must occur in the first week of classes to be considered.
I will only consider giving an incomplete grade for emergency cases such as a death in the family, major disease, or child birth, while also having a passing grade. If you have a situation that may prevent you from completing the coursework, let me know as soon as you can.
Scores for coursework items will be posted on Canvas as they are graded. Feedback will be provided when available. You will turn in all coursework items through Canvas and/or TEACH before 23:59 (TEACH server time, Pacific Time Zone) on the date they are due, be sure you give yourself an hour or more to submit coursework.
Your course grade will be based on the following:
Assignment | Percentage |
---|---|
Homework | 50% |
Quizzes | 30% |
Final Exam | 20% |
TOTAL | 100% |
There are seven homework assignments. Assignments will submitted to Canvas
- Homework submitted up to 24 hours late will receive a 10% penalty.
- Homework submitted from 24 to 48 hours late will receive a 20% penalty.
- Any disagreement in scoring must be addressed within one week of the work being graded. All questions about grading must be placed in the “Assignment Comments” section of the Canvas submission for that assignment. If a response to your comment is not posted within 48 hours you can email a TA requesting that they review the comments.
There are seven quizzes for this course, Quizzes administered in Canvas and contain multiple choice. True/False, matching and fill in the blank questions. Each quiz attempt has a 90 minute time limit and is not proctored. You will get two attempts at each quiz and your highest score is kept. Some quizzes contain randomly selected question so you may receive different questions on each attempt at the quiz. Quizzes are open book. Late quizzes are not allowed.
The cumulative final exam will be given in class during finals week at the time scheduled for this class, Wednesday June 14th at 9:30am
Note: Average score ranges given in interval notation
Grade | Average Score |
---|---|
A | [93, 100] |
A- | [90, 93) |
B+ | [87, 90) |
B | [83, 87) |
B- | [80, 83) |
C+ | [77, 79) |
C | [73, 77) |
C- | [70, 73) |
D+ | [67, 70) |
D | [63, 67) |
D- | [60, 63) |
F | [0, 60) |
- REMINDER: A passing grade for core classes in CS is a C or above. A C-, 72 or below, is not a passing grade for CS majors.
Be respectful of your classmates’ right to learn and my right to teach by following these rules:
- Class attendance is not required, but it is STRONGLY ENCOURAGED.
- There will be ungraded in-class activities (ICAs) that will help with Homework assignments.
- When a class is missed, it is the STUDENT'S responsibility to obtain any notes, assignments.
- Please be on time for lecture because it can be disruptive to other students, as well as the instructor.
- If the instructor is late for a lecture, please remain in the classroom for 10 minutes.
All students are subject to the registration and refund deadlines as stated in the Academic Calendar: https://registrar.oregonstate.edu/osu-academic-calendar.
Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.
The University’s guidance for face coverings will be upheld in the classroom. Since the policy may change as the situation evolves please refer to the following link: https://covid.oregonstate.edu/face-covering-guidance-public-health-policy
University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at oregonstate.edu/ReachOut . If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255)
OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus: https://asosu.oregonstate.edu/advocacy/rights