Instructor Information
Name |
Rodrigo Sardiñas |
Office # |
Shelby 3127H |
Zoom Office Hours Link |
|
Office hours |
MWF 11-12pm |
|
|
Class (3220-001) |
Shelby 1126 |
3220-001 Zoom Lecture Link |
|
Class (3220-002) |
BKENG 2143 |
3220-002 Zoom Lecture Link |
|
Class Time |
Section 1: 1-1:50pm |
TA Information
Zeru Zhang |
|
Sarp Aykent |
Required
1. Concepts of Programming Languages (11th Edition)
a. ISBN-13: 978-0133943023
b. ISBN-10: 013394302X
Course Delivery Mode
The instructional mode for this course is Face-to-Face Required. In brief, this means that at least half of the contact hours for this course will involve in-person activities; you will be expected to attend all such activities and required to attend some. The details of this are as follows.
· Lecture meetings: Each Monday, Wednesday, and Friday I will hold an in-person class meeting during the scheduled lecture time. You will be required to attend at least 10% of these meetings. A maximum attendance of 50% room capacity will be strictly enforced. I will post a schedule (once enrollment has stabilized) for MWF. On each of those days, 1/3 of the class will be scheduled to attend. You may only attend during your scheduled day. Class will be conducted synchronously via zoom every day so that the remainder of the class can still participate, even though you cannot visit the classroom.
· Exams and Tests: Exams and Programming Tests will be conducted online. Attendance not required.
· Office Hours: Instructor office hours will be held via Zoom at a set time each week. The specific day/time will be announced on the first day of classes.
COVID Contingencies
Extended Student Absence
If illness causes you to be unable to participate in the course, please contact me as soon as possible to discuss your options.
Extended Instructor Absence
If illness causes me to be unable to continue teaching the course, a back-up instructor has been selected who will assume all teaching responsibilities to ensure that the course will proceed uninterrupted.
Course Description
This course aims to introduce the student to key constructs of programming languages as well as contrast key strengths and weaknesses in different programming languages, past and present. Over the course of the semester, we will be introduced to several programming languages and will demonstrate an understanding of concepts presented in class by writing programs in some of these languages. We will be introduced to the theory behind how programming languages are created and will be introduced to compiler design by studying different approaches to lexical and syntactic analysis.
Course Objectives
Upon completion of this course, each student should: be familiar with the history of programming languages and how they were developed; be able to critically evaluate a given programming language to determine whether or not it is suitable for a given task; quickly pick up a new programming language and be able to write a simple program in it; be able to form a basic grammar for a language and parse an example of a program written in that grammar.
Topics Covered
· History and Evolution of Major Programming languages
· Syntax and Semantics
· Lexical and Syntax Analysis
· Names, Bindings, Type Checking, and Scope
· Data Types
· Expressions and Assignment Statements
· Statement-Level Control Structures
· Subprograms
· Object-Oriented Programming
· Concurrency
· Exception and Event Handling
· Functional Programming Languages
· Logic Programming Languages
Communication
Contact Instructor or TA
Office hours are listed in this document. Please email the instructor if you need to arrange an appointment outside of office hours.
When emailing the instructor OR TA about grades you must include what exactly you think is not graded correctly, and why you think it is not graded correctly. You must be specific. Blanket statements such as “I don’t think my grade is correct” will not receive a response.
Example:
Good email:
I feel that I should not have lost points for the rubric item labeled X. According to the rubric, I was supposed to do xyz, and if you go to line# in this file, you will see that I did what I was instructed to do.
Email that would not receive a response:
Professor, I don’t think I got the correct grade for my assignment.
When emailing the instructor OR your TA, you must include the following information in the subject of the email:
Course#
Assignment#/Exam#
Failure to include this information could lead to your email not being processed or answered.
The TA should be your first point of contact if you have questions about assignments. If you have questions about a grade you received on an assignment, you should contact the TA that graded your assignment first. You will know who this is because they will leave comments indicating where the errors were in your assignment.
Communication from Instructor
All announcements will be posted on the Canvas Announcement page. Any email correspondence will always be through official auburn email addresses only.
All assignments will be posted on the assignments page in Canvas.
You are responsible for all information presented in class, sent via announcements/emails, and posted on Canvas.
Syllabus Modification
The syllabus is subject to revision. The last modified date is always listed in the footer. A notification will be made in canvas and an announcement will be made during a lecture if the syllabus is modified.
Attendance
If you are absent, it is your responsibility to obtain any missed notes or information about assignments from another student.
Please see the following link for a list of officially excused absences and more information on attendance in general, per Auburn University’s policies: https://sites.auburn.edu/admin/universitypolicies/Policies/PolicyonClassAttendance.pdf
If you are absent on the date that an exam is given, you will be given a grade of 0 for that exam unless it is an official and excused absence. There will be no makeup for this grade.
Communication Devices and Electronics
Communication devices (phones) should be turned off and set to silent before entering the classroom or a lab. No electronic devices are allowed during exams (phones, laptops, tablets, etc…).
Grading Policies
Pop-Quiz |
10% |
Grading Scale A 90 – 100% B 80 – 89% C 70 – 79% D 60 – 69% F <60% |
Assignments |
50% |
|
Mid-term |
20% |
|
Final |
20% |
Pop-Quiz
You will be given between 5 and 10 pop-quizzes at the beginning of class periods on certain days during the semester. Quizzes will be available until midnight the day that they are given. There is NO MAKEUPfor a missed pop-quiz for any reason. If you are absent on a day that a quiz is given, you will receive a 0. I will drop the lowest 2 quiz scores that you have.
Assignments
Assignments consist of exercises from the book chapters and/or programming exercises in a given language.
All assignments in this course are to be done individually. There are no group assignments in this course. The work submitted must be your own.
Assignments will ALWAYS be due on Friday. You will be allowed to turn them in up to Sunday night by 11:59 pm. Submitting an assignment by Friday, 11:59pm, will grant you an additional 5 bonus points added to that assignment score. There is no penalty for submitting it by the Sunday deadline, but you will not be awarded any bonus points.
Mid-term
Comprehensive. Short-answer, multiple-choice. Material will cover ONLY material from the book.
Final
Same as midterm. Comprehensive.
Discussing Grades
Grades will be recorded on Canvas in a timely manner. Check your grades on Canvas “Grades” page. See the comments section for grader comments. It is your responsibility to contact your teaching assistant with questions about your assignment grades or the instructor about an exam grade.
You have SEVEN (7) DAYS AFTER an ASSIGNMENT or a TEST GRADE is POSTED to question the grade. After that time, the grade will stay as it is. There are no exceptions.
Late Assignments and Missed Exams
There are no grace days for late assignments. Instead of adding grace days and imposing a penalty for each of those days that are used, you will be given a bonus of 5 points for submitting the assignment by Friday, 11:59pm.
Any missed exams, in the absence of approved documentation will be given a zero score.
Plagiarism and Cheating
Always document all sources of help for assignments, including help from other students. Any form of plagiarism will be reported to the Office of the Provost, per Auburn University’s Academic Honesty policy and met with a grade of 0 on the first occurrence. Any subsequent occurrences will result in a failing grade for the course.
If a student is caught cheating, the incident will be reported to the Office of the Provost, per Auburn University’s Academic Honesty Policy, and the assignment/exam will be given a grade of 0. Any subsequent offence will result in a failing grade for the course.
Please see the following link for more on Auburn’s Academic Dishonesty Policy:
https://sites.auburn.edu/admin/universitypolicies/Policies/AcademicHonestyCode.pdf
Software and Assignments
All the software needed for this course should be available in any of the labs in Shelby. Should you choose to work on assignments on your own machines, you may have to install various compilers/applications that will be described per assignment.
Special Accommodations
Students who need accommodations are asked to arrange a meeting with your instructor as soon as possible. If you have a conflict with my office hours, an alternate time can be arranged. To set up this meeting, please contact me by email. If you do not have an Accommodation Memo but need accommodations, make an appointment with The Program for Students with Disabilities, 1244 Haley Center, 844-2096 (V/TDD).
Please see the following link for more information on accommodations:
https://sites.auburn.edu/admin/universitypolicies/Policies/ADAAccommodationsPolicy.pdf