CSc 372 (Comparative Programming Languages) Syllabus
Spring 2017
Catalog Info | Resources | Topic Schedule | Grading | Univ./Dept. Policies | ||||
Class Personnel | Objectives | Dishonesty | Class Policies | Caveat |
General Catalog Information:
Description: | Introduction to several major high-level programming languages and their characteristics. Programming projects are required in at least three languages. |
Lecture: | Mondays, Wednesdays, and Fridays, 2:00 p.m. - 2:50 p.m., BioW 208 |
Prerequisite(s): | Passing grades in either CSc 127B or CSc 227, and CS Major status. |
This class requires that you write non-trivial programs in three or more languages. This semester, I anticipate that there will be four: Ruby, Haskell, Prolog, and one of your choosing. There will also be some written homework assignments covering general concepts of programming languages. | |
Credits: | 3 |
Final Exam: | Friday, May 5, 2017, 1:00 p.m. - 3:00 p.m. The final is comprehensive, and will be given on this date at this time. Make your travel plans accordingly. |
Class Personnel:
Name | Office | Phone | Fax | Office Hours | |||
---|---|---|---|---|---|---|---|
Instructor | Lester I. McCann, Ph.D. | G-S 819 | mccannl@acm.org | 621-3498 | 621-4246 | M 10:30-noon, R 1-2:30pm | |
UG TA | Patrick Hickey | G-S 856 | patrickhickey@email | --- | 621-4246 | T&R 10-noon | |
UG TA | Andrea Padula | G-S 856 | apadula@email | --- | 621-4246 | M&W 3-4pm, T 2-4pm |
The TA(s) have successfully completed this class (or its equivalent) and is/are paid by the Department of Computer Science to help me help you learn the material. In this class, the TA(s) host office hours, field questions via email and the message board, grade homeworks, and assist me with exam grading. I expect that you'll find the TA(s) to be a valuable resource.
Please keep in mind that it is possible to meet us outside of office hours. Contact us to make an appointment.
Information Resources:
Homepage: | http://www.cs.arizona.edu/classes/cs372/spring17/ |
Textbook: | Programming Languages -- Principles and Practice (Louden/Lambert), 3rd ed., Cengage, 2012. is the required text. There is a Student Companion Site, but it only has the errata list and an archive of files. |
Used copies of this edition of the text are available, as are rentals and an eBook version. | |
Class Discussions: | We will be using Piazza for outside-of-class discussions and announcements. Click here to access the CSc 372 message board . |
Course Objectives and Expected Learning Outcomes:
Students will learn foundational principles of programming language design and implementation, in part through the study of languages from the paradigms of object-oriented, functional, and logic programming languages. General topics include language syntax and semantics, data typing, and historical foundations.
Be advised that this topic outline is just that - an outline. It does not list every topic to be covered in the class. Reliance upon it is not a good substitute for attending lectures.
Topics and Subtopics | Sections In Text | Sample Learning Objectives |
---|---|---|
1. Programming Language History and Basics | ||
a. Origins | 1.1 - 1.3 | • What were the first programming languages? |
b. Defining Languages | 1.4 | • How are programming languages specified? |
c. Translating Languages | 1.5 | • Distinguish compilation and interpretation |
2. Design Principles | ||
a. Historical Consideration | 2.1 | • How did the first languages come to be? |
b. Fundamental Concepts | 2.2 - 2.5 | • What makes a language 'good'? |
3. Object-Oriented Languages | ||
a. Motivations | 5.1 | • Why were OO languages created? |
b. Design Considerations | 5.5 | • Classes, Inheritance, Polymorphism, etc. |
c. Implementation Considerations | 5.6 | • Object Allocation, Initialization, etc. |
d. Example Language: Ruby | Lecture | • Successfully code non-trivial programs |
4. Syntax | ||
a. Context-Free Grammars and BNF | 6.2 | • Why are CFGs used for programming languages? |
• Be able to use a BNF to accept a program | ||
b. Syntax Trees and Diagrams | 6.3, 6.5 | • Distinguish parse and syntax trees |
• Understand issues with ambiguous grammars | ||
c. Syntax and Semantics | 6.7 | • Be able to distinguish from lexical structure |
5. Functional Languages | ||
a. Motivations | 3.1 | • How are functional languages superior to imperative? |
b. Design Considerations | 3.2 - 3.4, 3.6 | • What is currying? |
• Explain the effects of delayed evaluation | ||
• Why are lambda functions important? | ||
c. Example Language: Haskell | 3.5, Lecture | • Successfully code non-trivial programs |
6. Semantics | ||
a. Binding of Attributes | 7.1 | • Distinguish static and dynamic binding |
b. Scoping | 7.2 | • Understand how languages define scope |
c. Symbol Tables | 7.3 | • How do static and dynamic tables differ? |
d. Naming | 7.4 | • Explain the value of name overloading |
e. Environment | 7.5 | • How do languages store allocation bindings? |
f. Constants vs. Variables | 7.6 | • Understand the differences in semantics |
g. Semantic Headaches | 7.7 | • How do semantics challenge programmers? |
7. Logic Languages | ||
a. Motivation | 4.1 | • When should a logic language be considered? |
b. Horn Clauses | 4.2 | • Explain the utility of this structuring |
c. Resolution and Unification | 4.3 | • Demonstrate how these are used to reach goals |
d. Example Language: Prolog | 4.4 | • Successfully create non-trivial databases |
8. Data Typing | ||
a. Typing Basics | 8.1, 8.2 | • What is a data type? |
b. Type Constructors | 8.3 | • Explain how set operators can create new types |
c. Type Equivalence | 8.5 | • Distinguish between name and structural equivalence |
d. Type Checking | 8.6 | • How can types be considered equivalent? |
e. Type Conversion | 8.7 | • What are the dangers of implicit conversions? |
f. Polymorphism | 8.8, 8.9 | • How are polymorphic types managed? |
9. Conditional Statements and Exceptions | ||
a. Ifs and Guarded Ifs | 9.2 | • From where did the If statement come? |
b. Ambiguous ELSEs | 9.2 | • Be able to correctly interpret nested IFs |
c. Other Conditional Statements | 9.2 | • In which circumstances should an IF be replaced? |
10. Iteration | ||
a. Iteration Structures | 9.3 | • How are loops related to conditionals? |
• Appreciation of iteration's varieties | ||
b. Loop Termination | 9.4 | • Are unstructured exits evil? |
c. The GOTO Statement | 9.4, Lecture | • Why is its use so contentious? |
And for whatever time we may have left... | ||
11. Something More! | ||
a. Might be ADTs ... | 11 | • How do modules support separate compilation? |
b. ... or Formal Semantics ... | 12 | • Distinguish operational, denotational, and axiomatic |
c. ... or maybe a little Parallel Programming | 13 | • How are parallel programs policed? |
Topics may be added, removed, or reordered as time and circumstances dictate.
Schedule of Topics and Activities:
A schedule of topics is required by the University. Please be aware that any number of unforeseen circumstances can cause a schedule to become inaccurate. Thus, you should not rely on this schedule. It is your responsibility to pay attention to, and adhere to, changes announced in class, by email, and via the discussion board.
Week Class # Scheduled Topic(s) Assigned Due ---- ------- ------------------ -------- -------------- 1 1,2 Class Info, 1 H1 -- 2 3,4 1, 2 -- H1 (Fri, 1/20) 3 5-7 3, Ruby P1 -- 4 8-10 Ruby -- -- 5 11-13 4, 5 H2 P1 (Fri 2/10) 6 14-16 5, Haskell -- H2 (Fri 2/17) 7 17-19 Haskell, Exam #1 (2/24) P2 -- 8 20-22 Haskell -- -- 9 23-25 6,SNOBOL,Icon(B.Mitchell) -- P2 (Fri 3/10) [ -------------------------- SPRING BREAK! ----------------------------- ] 10 26-28 6 H3 -- 11 29-31 6,7 -- H3 (Fri 3/31) 12 32-34 Prolog, Exam #2 (4/07) J1 -- 13 35-37 Prolog P3 -- 14 38-40 Prolog, 8 -- P3 (Fri 4/21) 15 41-43 9, 10 -- -- 16 44,45 10 -- J1 (Wed 5/03) Finals -- Final Exam (Fri 1:00pm) (The original post-break schedule, for reference: 10 26-28 6, 7 H3 -- 11 29-31 7, Prolog -- H3 (Fri 3/31) 12 32-34 Prolog, Exam #2 (4/07) P3 -- 13 35-37 Prolog, 8 J1 -- 14 38-40 8, 9 -- P3 (Fri 4/21) 15 41-43 9 -- -- 16 44,45 Catch-Up / Bonus Topics -- J1 (Wed 5/03) )
Academic Dishonesty (i.e., Cheating):
See Also: | • The Department of Computer Science Course Policy on Collaboration: http://www.cs.arizona.edu/policies/collaboration.html |
• The University of Arizona Code of Academic Integrity: http://deanofstudents.arizona.edu/codeofacademicintegrity | |
• The Arizona Board of Regents list of Prohibited Conduct: https://azregents.asu.edu/rrc/Policy%20Manual/5-303-Prohibited%20Conduct.pdf | |
• The Arizona Board of Regents Student Code of Conduct: https://azregents.asu.edu/rrc/Policy%20Manual/5-308-Student%20Code%20of%20Conduct.pdf (in particular, see part F, "Prohibited Conduct") |
Most, if not all, assignments in this class will be individual assignments, to be worked on outside of class. All individual work assigned to you in this class is to be completed only by you. It is not acceptable for you to `borrow' (a.k.a. steal, copy, coerce, etc.) solutions or parts of solutions from other people or have other people write part or all of your solutions for you. Yes, getting answers and solutions from the Internet is a violation of academic dishonesty! However, it IS acceptable (and encouraged!) for students to help one another understand the assignment requirements and other high-level issues. In short, do your own work, but feel free to discuss conceptual difficulties with each other. Of course, you may always ask me or a TA for help, but don't expect that we'll just hand you solutions; we'll make you work for them. Doing is learning!
The class policy on cheating is simple: If we determine by a preponderance of the evidence that a student or students violated one or more of the policies of academic conduct governing this class, at minimum all complicit students will receive no points for the academic activity or activities in question. Additional sanctions are possible depending on the circumstances of the offense(s) and the policies of the department, university, and Arizona Board of Regents, up to and including expulsion from the university. Academic integrity infractions are reported to both the Dean of Students and the Dean of the College of Science. If you have a history of violations, the penalty is likely to be much worse than just a zero on an assignment. Multiple violations in this class will result in a recommendation of a failing course grade, at minimum. We take academic dishonesty very seriously, as you should be able to tell; we expect you to take it just as seriously.
Please take the time to read the references linked above. Ignorance of the policies is not an acceptable excuse for their violation. For your convenience, here is the section of the University's Code of Academic Integrity entitled "Prohibited Conduct":
Conduct prohibited by this Code consists of all forms of academic dishonesty, including, but not limited to: 1. Cheating, fabrication, facilitating academic dishonesty, and plagiarism as set out and defined in the Student Code of Conduct, ABOR Policy 5-308-E.6, E.10, and F.1. 2. Submitting an item of academic work that has previously been submitted without fair citation of the original work or authorization by the faculty member supervising the work. 3. Violating required professional ethics rules contained or referenced in the student handbooks (hard copy or online) of undergraduate or graduate programs, or professional colleges. 4. Violating health, safety or ethical requirements to gain any unfair advantage in lab(s) or clinical assignments. 5. Failing to observe rules of academic integrity established by a faculty member for a particular course. Attempting to commit an act prohibited by this Code. Any attempt to commit an act prohibited by these rules shall be subject to sanctions to the same extent as completed acts. 6. Assisting or attempting to assist another to violate this Code. |
The bottom line: Do your own work! If you have any doubts, please come talk to us -- before you do anything you might regret.
Grades and Grading:
See Also: | • UA General Catalog's Grades and the Grading System: http://catalog.arizona.edu/policy/grades-and-grading-system |
Homeworks | = | 12 | % | total (first 2%; next two 5% each) |
Programs | = | 34 | % | total (first 10%, next two 12% each) |
Project | = | 10 | % | |
Midterm Exams | = | 28 | % | total (2 @ 14% each) |
Comprehensive Final Exam | = | 16 | % | |
Total | = | 100 | % |
By department policy, the final exam is required.
I use the common 90-80-70-60 grading scale. It's possible that final grade cutoffs will be lowered a little (from 90% to 88.5% for the bottom of the 'A' range, for example) but they will never be raised. I make such determinations only at the end of the term, after the final exam has been graded.
See Also: | • UA General Catalog's Class Attendance Policies: http://catalog.arizona.edu/policy/class-attendance-participation-and-administrative-drop |
We do not record (and do not grade you on) attendance during lectures. That said, we strongly recommend that you attend all of the lectures, not just the ones with in-class activities. Experiencing, and participating in, "live" lectures is a valuable learning experience.
The idea behind the homework and program assignments is to help you get more hands-on experience with the material as preparation for the exams. The more practice you get, and the more you `step back' and examine the context of the exercises as you do them, the more you will benefit.
We plan to assign 3 written homeworks, 3 programs, and one project. Homework assignments are due approximately one week from the day they are assigned, while programs are due approximately two weeks after they are assigned. You will have approximately three weeks for the project. These are our expectations; do not be surprised if these quantities and/or durations change.
The Department of Computer Science labs in Gould-Simpson 228 and 930 will be available for your use for the programming assignments. Many students find it convenient to work on the assignments at home; we expect that all of the software we use in this class will be accessible from an off-campus networked computer. If you do decide to use a system outside of our department's control for your work, it is your responsibility to learn how to set it up and use it effectively.
In this class, we expect to receive electronic submissions of all assignments, including written homeworks. For the written homeworks, you may use a word processor (such as Microsoft Word or LibreOffice), a document formatting package (such as LaTeX), or even (as a last resort, please) a scanner to convert handwritten answers to portable electronic form (such as PDF). The purpose of insisting on electronic submissions is to ensure that each assignment has a reliable timestamp, so that everyone is clear on whether or not an assignment is late. We anticipate using 'turnin' on Lectura for all submissions.
No matter the form, we expect your written work to have your answers clearly marked, to include sufficient detail to enable us to follow your reasoning, and to be legible so that we can easily read your words, understand your explanations, and decipher your diagrams. Difficulties in any of these areas will likely result in a loss of points. This isn't high school; you are preparing yourselves for careers, and you need to get in the habit of preparing your work in a professional manner. Here's another way to look at it: Make it easy for us to see that you know your stuff.
For programs, my usual code documentation and style guidelines are available from the class web page. Documenting code is not the most enjoyable activity you'll ever experience, but it is important to do, and to do well. Program documentation/style is worth about 25% of your score on a program. Also, expect us to compile and run your programs on lectura to verify their completeness. Be certain that your program runs correctly in the lab before you submit it.
We expect to be able to grade and return assignments before the next like assignment is due. That is, expect the first homework to be graded before the second homework is due, expect the second program to be graded before the third program is due, etc.
Each assignment will have a clearly stated due date and time. Typically, the time will be five minutes after the start of lecture on the due date. Electronic submissions received after that time will be considered late. Assignments submitted within the first 24 hour period after the due date and time are considered to be one day late. Submissions received within the next 24-hour period are two days late, etc. Any day of the week, including Saturdays, Sundays, and all holidays, count as days for the purpose of determining lateness.
At the start of the term, you are granted four (4) no-penalty late days that can be used on either programs or homeworks (but not the project!). However, how late days may be applied differs by assignment type:
Final detail: No matter how many late days you have saved, no assignment will be accepted after the start of the final exam.
Why the difference between homeworks and programs? We anticipate providing solutions to homeworks, but not to programs. If we were as open-ended on homeworks as programs, solutions could not be provided for 8 days after due dates. By that time, the homework solutions would not be as useful.
It is up to you to decide whether to submit an incomplete assignment or to use a late day (or days, in the case of programs) in hope of completing the assignment. If you feel that you deserve an extension of the due date based on exceptional circumstances, contact me and I will consider your request.
Each assignment will be worth a certain number of points. We will award partial credit to incorrect and/or semi-legible submissions when appropriate. If you feel that your assignment was graded improperly, please contact a TA to discuss your concerns. If you are still unsatisfied, contact me.
We deduct points from imperfectly-completed assignments so that you know where you need to improve on future assignments. If you don't understand why you lost points for a particular problem, or you would like to hear specific suggestions for improvement, we want you to come talk with us about your concerns.
For this discussion to be most productive, you should contact the TA and arrange a mutually-agreeable meeting time. Come to the meeting with a list of your specific questions and concerns (so that you don't forget anything).
If, after this meeting, you are not satisfied, make an appointment to discuss your concerns with me. Always meet with a TA first; s/he has first-hand knowledge of the grading.
To keep grading discussions from dragging out across the semester, you need to let a TA know about your grading concerns within a week of the class (not you individually) receiving the graded assignment, unless there are exceptional circumstances. Any complaints about scores received after that week will not result in any score changes (but we'd still be happy to talk about your concerns).
Exam formats will be fairly consistent throughout the semester. Exams will consist primarily of short answer and problem-solving questions, but code-writing questions are also possible. The use of calculators or any other electronic devices is NOT permitted on exams unless warranted by special circumstances.
I expect all students to take the exams at the announced exam times. I give make-up exams only in extreme circumstances. I decide if a circumstance is "extreme." For example, being in a documented car accident on the way to the exam is likely to count as an extreme circumstance. Circumstances that are not considered to be extreme include losing a cell phone, breaking up with a significant other, forgetting to set/heed an alarm clock, having a cold, discovering that your goldfish want a divorce, etc. Please be aware that missing a midterm exam isn't necessarily a disaster; see below.
General Information: Midterms will focus on the material covered in class, on the homeworks, and by the programs since the time of the previous midterm (or the start of the term in the case of the first midterm). As new material in this class usually builds upon the old, you should expect that your knowledge of material covered by previous exams will be necessary for success on subsequent exams.
Grading Timetable: We will do our best to return graded midterm exams within two class meetings of the date of the exam.
Regrade Requests: After midterm exams are graded, they will be returned to you and you may keep them. We will also review the exam, usually in section. If you feel that your exam was graded improperly, prepare a brief memo that explains which problems concern you and why. Within one week of the date on which the exam was returned to the class/section, submit your exam (not a copy) and the memo to me. I will regrade the entire exam, paying particular attention to the problems you highlighted in the memo. Because errors in grading can cause scores to be too high as well as too low, it is possible that your grade will go down as a result of the regrade. Be sure to review your entire exam before you ask for a regrade.
See Also: | • Final Exam Regulations: https://www.registrar.arizona.edu/courses/final-examination-regulations-and-information |
• Final Exam Schedule: http://www.registrar.arizona.edu/courses/spring-2017 |
By department policy, final exams are required in all classes. By university policy, final exams must be held during the time slot assigned by the final exam schedule. I have listed that time near the beginning of this syllabus. If you see that I have listed the exam time incorrectly, please let me know.) The final will be comprehensive and will have a format similar to that of the midterms. If you miss the final under less than extreme circumstances, you will receive a score of zero for the final.
At the end of the semester, we will replace your lowest midterm exam score with a percentage-equivalent copy of your final exam score, but only if the final score is higher than at least one of your midterm scores. (Thus, this is a potential bonus but never a penalty.) We do this to reward you for demonstrating an improved mastery of the material over the course of the semester. However, it can also help you if you should miss a midterm because your car broke down, your alarm clock didn't go off, you had a disfiguring zit, or any other non-extreme quirk of fate. Please note that should you miss multiple midterms under sub-extreme circumstances, you will definitely get a zero for those additional missed midterms.
If room capacity permits, leave a seat vacant between you and your neighbor. If need be, we will reseat students before or even during an exam to maintain an honest evaluation environment for all students. Don't be surprised if you see me taking pictures of the class during the exam. That action doesn't necessarily mean that we think that someone is cheating; it also happens to be a convenient way to verify attendance.
I am not planning to give quizzes in this class because I haven't found them to be necessary in past offerings. However, should adding them to the grade breakdown be requested or warranted, I will consider adjusting the grade distribution to incorporate them.
Class Policies:
The instructor and TA(s) will attempt to reply to email and discussion board postings from students within 24 hours (48 on weekends/holidays). This means that if you wait until the evening before an assignment is due to post a question, you may not get a reply before the due date and time. There's a classic sentence that covers this: A failure to plan on your part does not constitute an emergency on our part. We want to help, but like you, we have tasks other than email and discussion board postings that require our attention.
Important note: We encourage you to answer the posted questions of other students if and when you are able to do so. This is why we have a discussion board that is open to the entire class.
To help your email stand out in our inboxes, please prefix your subject lines with "CSc 372:", as in "CSc 372: Why is my brilliance lost on you and the TAs?" Doing this will help reduce the chance that your email is inadvertently marked as 'spam'.
There will be no opportunities for extra credit points. Use your time to concentrate on doing well on the assigned work. If your grade in this class is important to you, start taking this class seriously now, not just after you do poorly on the first exam. Additional late days for assignments may be offered as incentives under special circumstances.
See Also: | • Accommodation of Religious Observance and Practice: http://deanofstudents.arizona.edu/religiousobservanceandpractice |
• Religious Accommodation Policy http://policy.arizona.edu/human-resources/religious-accommodation-policy |
All holidays or special events observed by organized religions will be honored for those students who show affiliation with such religions. Absences pre-approved by the UA Dean of Students office will be honored. No matter the reason for missing class, the student is always responsible for the missed material.
See Also: | • Audit Policy: http://catalog.arizona.edu/policy/audit-policy |
If you are auditing this class, you may attend lecture and you may attend your assigned weekly section. You can turn in programs and homeworks only if the TA(s) agree to accept them. You may not take exams.
Colloquially, senioritis is the lack of ambition that some students experience as they approach graduation. Some of you are planning to graduate at the end of this semester, with this class satisfying one or more of your graduation requirements. This class can do that only if you do well in it. Being an expectant college graduate does not guarantee you a passing grade in this class. If your performance in this class earns you a failing grade, that is what you will receive. Gathering sufficient intellectual and ethical motivation to avoid that fate is your responsibility.
University and Department Policies:
See Also: | • Spring 2017 Dates and Deadlines: http://registrar.arizona.edu/dates-and-deadlines/view-dates?field_display_term_value=171 |
If you find yourself thinking about dropping this (or any other) class, first make sure that that's what you really want to do. Chatting with me or your academic adviser may help. If you drop within the first two weeks of the semester, there will be no notation on your transcript; to an employer, it will be as though you'd never enrolled. During the third through the tenth weeks, a drop will be recorded on your transcript by a 'grade' of "W" ("withdrawn"). After the tenth week, dropping becomes a challenge, because you will need to provide documentation to the dean's office explaining why you were unable to drop the class during the first ten weeks of the semester.
See Also: | • Office of Curriculum and Registration Grading Policy Manual: http://www.registrar.arizona.edu/gradepolicy/incomplete.htm |
• UA General Catalog's Grades and the Grading System page: http://catalog.arizona.edu/policy/grades-and-grading-system |
The university's course catalog contains all of the details about incompletes, but here's the key sentence:
The grade of I may be awarded only at the end of a term, when all but a minor portion of the course work has been satisfactorily completed. The grade of I is not to be awarded in place of a failing grade or when the student is expected to repeat the course; in such a case, a grade other than I must be assigned. |
The phrase "a minor portion" is accepted to mean "20%". To qualify for an incomplete, a student must have maintained a passing grade for the class until the term is nearly complete, and then, due to an unusual and substantiated cause beyond the student's control, the student is unable to complete the class work. In short, you can't get an "I" just because you aren't happy with your grade.
See Also: | • UA Disability Resource Center Information for Students: http://drc.arizona.edu/students |
• UA SALT Center: http://www.salt.arizona.edu |
The university and the Disability Resource Center (DRC) have asked all instructors to include in class syllabi the following information about the availability of reasonable accommodations for students with disabilities:
Accessibility and Accommodations: |
It is the University’s goal that learning experiences be as accessible as possible. If you anticipate or experience physical or academic barriers based on disability or pregnancy, please let me know immediately so that we can discuss options. You are also welcome to contact Disability Resources (520-621-3268) to establish reasonable accommodations. |
Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable. |
Additional help is available from the UA Strategic Alternative Learning Techniques (SALT) Center. SALT provides fee-based services for students with various learning disabilities.
Under the guidelines of the Rehabilitation Act of 1973 and the Americans with Disability Act of 1990, students are obligated to notify the school that they need accommodation.
See Also: | • Diversity and Inclusion Office: http://diversity.arizona.edu/ |
• 'Never Settle' Strategic Plan: http://neversettle.arizona.edu/ | |
• Inclusive Excellence Syllabus Recommendations: https://uaatwork.arizona.edu/node/26616 |
Inclusive Excellence is a fundamental part of the University of Arizona’s strategic plan and culture. As part of this initiative, the institution embraces and practices diversity and inclusiveness. These values are expected, respected and welcomed in this course.
See Also: | • Inclusive Excellence Syllabus Recommendations: https://uaatwork.arizona.edu/node/26616 |
This course supports elective gender pronoun use and self-identification; rosters indicating such choices will be updated throughout the semester, upon student request. As the course includes the potential for group work and in-class discussion, it is vitally important for us to create an educational environment of inclusion and mutual respect.
See Also: | • Student Assistance from the Dean of Students: http://deanofstudents.arizona.edu/student-assistance/students/student-assistance |
• UA Campus Health Counseling and Psych Services (CAPS): http://www.health.arizona.edu/counseling-and-psych-services | |
• UA "Notice.Care.Help." Form: https://arizona-advocate.symplicity.com/care_report/index.php/pid140439? |
If you know of a student (including yourself) who appears to be struggling and in need of help, of any form, the university offers a range of services. Help is available from the links above; please don't hesitate to take advantage of it.
See Also: | • Department of Computer Science Code of Conduct: http://www.cs.arizona.edu/codeofconduct.pdf |
• UA Student Code of Conduct: http://azregents.asu.edu/rrc/Policy%20Manual/5-308-Student%20Code%20of%20Conduct.pdf |
The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.
See Also: | • UA Nondiscrimination and Anti-harassment Policy: http://policy.arizona.edu/human-resources/nondiscrimination-and-anti-harassment-policy |
• UA Policy on Disruptive Behavior in an Instructional Setting: http://policy.arizona.edu/education-and-student-affairs/disruptive-behavior-instructional-setting | |
• UA Policy on Threatening Behavior by Students: http://policy.arizona.edu/education-and-student-affairs/threatening-behavior-students | |
• Hazing Policy of the University of Arizona: http://policy.arizona.edu/education-and-student-affairs/university-arizona-hazing-policy |
The university takes a very dim view of antisocial behaviors. In particular, if you're upset with me or a TA, please talk directly with us, calmly and with facts at hand, about your concerns.
Caveat:
The information contained in this syllabus, other than the grade and absence policies, are subject to change with reasonable advance notice, as deemed appropriate by the instructor. Whenever possible, changes will be announced to the class before the on-line version of this document is altered.