CSCI 1120 (Low-Level Computing), Spring 2019:
Syllabus

Course description

Currently our curriculum's programming sequence is taught in fairly abstract languages (Scala for the first two semesters, then C++). While this has advantages, it also means that students may not develop an understanding of what is happening in the machine. This course is intended to expose students to concepts closer to the machine -- programming in a not-so-abstract language, command-line tools, and the basics of data representation and computer arithmetic -- and also to ease the transition from Scala to C++.

Course goals

Course topics

Basic information

Class meeting times and location

Prerequisites

Instructor contact information

Office hours

A current schedule of office hours can be found on my home Web page http://www.cs.trinity.edu/~bmassing. If I'm not in my office during office hours, I should be somewhere in the CSI, probably in one of the labs helping another student.

In addition to scheduled office hours, you're welcome to drop by and see if I'm in my office and free to talk, or you can make an appointment by sending me e-mail.

Also, e-mail is almost always a good way to reach me; I normally check it fairly often and reply to student questions promptly.

Course materials

Web site

Most course-related information (this syllabus, homework and reading assignments, etc.) will be made available via the course Web site. You can find it linked from my home page http://www.cs.trinity.edu/~bmassing or directly at http://www.cs.trinity.edu/~bmassing/Classes/CS1120_2019spring/HTML/; there is also a link in TLearn.

Textbook

(Not required, but recommended.)

Other references

There are many books on the C language, some more reliable than others. Here are two that seem good to me.

Course requirements

Grading

Grades in this course will be determined by scores on several homework assignments and class attendance, weighted as follows.

Component Perfect-score points
Homework about 120
Class attendance 20
Video-lecture quizzes 20

Numeric grades will be calculated as a simple percentage, by dividing total points earned on the above components by total perfect-score points. These numeric grades will then be converted to letter grades in a way that takes into account the performance of all students, but in no case will the resulting letter grades be worse than you would receive based on the following scheme.

Numeric grade Letter grade
90 - 100 A-/A
80 - 89 B-/B/B+
70 - 79 C-/C/C+
60 - 69 D/D+
0 - 59 F

Homework assignments

Homework, in the form of programming assignments, is a crucial part of this course; most of what you learn will likely be learned in the course of completing these assignments. Detailed requirements will be provided as part of each assignment; due dates will be announced via the course Web site. You are strongly encouraged to use the department's network of Linux machines, but unless otherwise specified for individual assignments, you may use any other system that provides a suitable environment.

Attendance

Regular class attendance is strongly encouraged, and part of your grade is based on it. You can miss a week's worth of class without penalty; after that, each unexcused absence reduces this part of your grade. If you must miss class for whatever reason, see the notes online for a summary of what you missed, including any announcements. It may also be helpful to check with a classmate for more about what we did in class.

Video-lecture quizzes

This semester I plan to switch from a traditional lecture format for class meetings to a more ``flipped'' style, in which most course material is presented via video lectures and class time is used for more-interactive activities or as a time when students can work on homework with someone available to answer questions.

These lectures will be made available via echo360.org. You should all have access to a CSCI-1120 course there, and titles of videos to view will be listed with readings. To encourage students to view these videos, most will end with a quiz -- one or more short questions that you are to answer by e-mail. Note that to get full credit for one of these quizzes you must send answers before the class for which the video is part of the reading. Late answers will receive at most half credit.

E-mail

Course-related announcements will often be made by sending e-mail to the Trinity e-mail addresses of all registered students. Students are strongly encouraged to read mail sent to their Trinity addresses frequently.

Late and missed work

Unless otherwise stated for a particular assignment, homework will be accepted up to one class period late, but no more, at a penalty of 10 percent off per working day. This penalty will be waived if you submit a preliminary version of the assignment on time and a revised version no more than one class period later. It may also be waived or additional time allowed at the instructor's discretion in cases of illness or conflict with a university-sponsored activity or religious holiday.

If you have unusual circumstances (as we all sometimes do), please discuss these with me as far in advance as possible.

Academic integrity at Trinity

What Academic Affairs recommends that I say:

All students are covered by a policy that prohibits dishonesty in academic work. Under the Honor Code, a faculty member will (or a student may) report an alleged violation to the Academic Honor Council. It is the task of the Council to investigate, adjudicate, and assign a punishment within certain guidelines if a violation has been verified. Students are required to pledge all written work that is submitted for a grade: ``On my honor, I have neither given nor received any unauthorized assistance on this work'' and their signature. The pledge may be abbreviated ``pledged'' with a signature.
You will be asked to do this explicitly on everything you turn in for this course.

Collaboration and academic integrity in this course

Unless otherwise specified, all work submitted for a grade (homework assignments) must represent your own individual effort, except as discussed below. All submitted work will be considered pledged work.

Getting help is allowed and even encouraged, but not to the point where the helper is providing answers you just transcribe. Similarly, discussion of homework assignments among students is allowed, but not to the point where detailed answers are being written collectively. If you are working with other students in a lab, seeing another student's work may be unavoidable, but please do not share answers electronically.

However you get answers, you should write or type them up yourself. More importantly, you should completely understand everything you turn in, and by turning it in you are implicitly saying that you do.

Graded papers and sample solutions (to homeworks) from previous semesters, for this course or other courses I teach, are off limits. For most assignments I will post a sample solution after the due date; these solutions are also off limits. (Normally this isn't an issue because of timing, but if for some reason you must turn in work very late, it could be.)

Answers that are identical beyond coincidence (either to another student's work or to a sample solution) will be considered to be in violation of the Honor Code, and will result in appropriate action.

You will be asked to document any collaboration; details will be provided with assignments. If you are uncertain about whether a particular level of collaboration is acceptable, please ask for clarification.

Resources

Computer resources

As most of you know, the department maintains a network of computers to be used for coursework and research; it includes machines in the classrooms, machines in the other labs, and several server machines housed by ITS. Machines in the classrooms and labs are available for in-person use whenever the room is not in use for a class or other event; all are also available for remote use whenever the appropriate operating system is running. Server machines should be available all the time. For this course I strongly encourage you to use these computers for any homework that requires computer access, since they provide a reasonably standard environment with the needed tools. To report problems with the computers or with your account, it's probably best to get in touch with me (by e-mail if it's outside office hours); if I can't resolve the problem myself I'll pass it on to the appropriate person(s) in ITS.

Note to students with disabilities

What Academic Affairs recommends that I say:

Trinity University values the diversity of our students, staff, and faculty. Trinity is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the Trinity experience. If you have a disability or suspect that you may have a disability that requires reasonable accommodations, it is the policy of the University for students with disabilities to register with Student Accessibility Services (SAS). Please contact the Student Accessibility Services office at sas@trinity.edu or 210-999-8528 to make an appointment with a SAS representative to determine reasonable accommodations. Once registered with SAS, the office will provide me with an accommodation letter. Faculty are not obligated to implement accommodations prior to receiving documentation from SAS. Once registered, students are expected to meet with faculty as soon as possible to discuss how accommodations will be implemented in the classroom. All discussions will remain confidential. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.
I will do whatever I can to provide the requested accommodations.




2019-01-21