CPSC 313 -- Introduction to Computer Systems (Spring 2016)

CPSC 313 -- Introduction to Computer Systems (Spring 2016)



Lecture: Lab :

Time:
TR 8:00am-9:15pm
Location:
124 HRBB

Time:
TBA
Location:
111C/H RDMC

Instructor: Teaching Assistant:

Riccardo Bettati
509C Harvey R. Bright Bldg
845-5469
Office hours:
T: 11am-12pm
F: 11am-12pm
e-mail:
bettati cse


Chen Yang
324 Harvey R. Bright Bldg
Office hours:
MW: 4pm-5:30pm new!
e-mail:
iamyangchen gmail

Peer Teachers:

Ana Briones
Office hours:
MW: 12pm-1pm new!
TR: 10am-12pm new!
e-mail:
oscarcat tamu

(Please check Peer Teacher Central location and availability of other peer teachers.)

Joshua Higginbotham
Office hours:
R: 9am-11am
F: 9am-10am
e-mail:
sl1ppyt0adinatank tamu


Aaron Kingery
Office hours:
e-mail:
TBA




Schedule | Slides | Tests | Homeworks | Labs






Prerequisites

CPSC 312 (Computer Organization)

Description

The objective of this course is to provide you with a general understanding of what system software is involved for an application program to run, both on a single node and over a network, and how this system software is to be used. In support of this, the course will prepare you to do system-level and network programming. This course will teach you how to "use" (as opposed to "design") system components, such as memory, file systems, process control, interprocess communication, and networking. By the end of this course you will have an understanding of the problems and pitfalls typically encountered in the design and implementation of multithreaded and networked applications and systems.

More specifically, by the end of this course you will be proficient at making full use of the services provided by the underlying operating system by programming directly at the operating system interface level, POSIX over UNIX in our case.

At the end of this course you will understand the following aspects of a computer system, in no particular order:




Textbook

Other Interesting Reading

  • Systems Programming
  • Computer Systems
  • Operating Systems
  • OS Internals
  • These optional books complement the textbook. Perusing them may help you better understand some issues discussed in class.


    Lectures:

    During lectures we will be covering OS concepts and case studies. The material covered in the lectures will provide the background and foundation for you to appreciate the lab assignments and to succeed in them. Reading of assigned portions in the textbook and other related material is your responsibility. You are also expected to follow instructions and be aware of announcements made during lectures. (See Communication Policy below.)


    Labs:

    A very important part of this course is the Lab, where you will put into practice some of the material learned in the lectures, and where you will acquire a working knowledge of one widely used application interface (POSIX) to and operating system (UNIX). We will meet regularly for in-lab sessions, where we will be presenting and discussing new material, or go over problems you may be encountering. After an introductory session to familiarize you with the particular environment that we will be using, there will be a series of machine problems with various difficulties, which will exercise different parts of the operating system: file system, process and thread management, memory management, networked execution, and so on.

    In order to maximize the learning experience, we will not have groups of students work on the machine problems. Instead, each student will have to turn in his or her own solution. While we encourage you to collaborate during the Inquiry phase of the machine problem, the design and implementation of the machine problem solution has to be your own. You are not allowed to copy from other solutions of the machine problem, nor are you allowed to make solutions available to other students.

    Machine problems are supposed to be handed in on eCampus. Details will be available in the Lab Manual.

    Note: Some of the lab assignments are quite demanding, and will require some dedication and some time. Expect that you won't be able to finish them during the allocated lab time!


    Assessment Method (Subject to Minor Changes!)

    This couse will have two tests (200+200 = 400 points,) a series of machine problems (totalling 400 points,) several homeworks (totalling = 150 points,) and others (50 points).

    The grading scale looks as follows:

    We expect that the machine problems and the tests may have some bonus points.

    Late-Submission Policy: All the submission deadlines have included extra time for the consideration of accidental events such as (not limited to) unavailable resource (machines are down,) sickness of students, stock market collapse, distress due to the Aggies loosing a game, etc. This means that additional extensions are generally not granted. The rule of the game: START EARLY!

    Both homework and projects will be submitted on eCampus. Unless stated otherwise, lateness is penalized with 1/5 of the earned points of the item per calendar day. (During Summer 5-week terms the penalty is 1/3 per calendar day).) Lateness penalty starts at the deadline and is pro-rated. This means that you will incur a penalty of approximately 0.0139 percent (0.0231 percent in Summer) for each minute that you are late in turning in your submission.


    Examinations

    There will be one midterm and one final examinations. The midterm will be on SEE SCHEDULE, in-class, and the final will be during the allocated time during Final's Week (SEE SCHEDULE).

    All tests will be closed-book. You will be allowed one hand-written "cheat sheet" of size 8.5in x 5.5in. No other aids will be allowed, except for writing utensils.


    Communication Policy

    The instructor and the teaching assistant for this course will do their best to communicate relevant administrative information (deadlines, information about posted material, details about projects, locations of tutorials, and so on) in an effective and timely manner. We will be using anouncements in class, postings on the web site, material on eCampus, Piazza, and occasionally e-mails to students.

    We will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. If you have questions, consider posting them on Piazza. This will give everybody a chance to contribute.

    Find our class page at: piazza.com/tamu/spring2016/csce313sections501503/home.

    The signup link is: piazza.com/tamu/spring2016/csce313sections501503.

    Having said that, keep in mind that this is not a distance education course! You are expected to be current with the material covered in class and with any announcements made in class. In fact, announcements in class will override whatever information has been made available through the other channels.

    Note on e-mail etiquette: E-mail is a very convenient and potentially effective way to communicate with instructor and TA, but only if used in a professional manner. Keep in mind that -- in particular when a deadline is looming -- we are receiving many e-mails, and all senders expect immediate turn-arounds. Therefore, keep your e-mail short and to the point; indicate that you have done some thinking *before* typing the e-mail; provide necessary support documentation (e.g. code sections) when needed (don't attach huge amounts of code!); follow standard basic rules for courteous and professional communication; proofread your e-mail before sending it out. We will not answer e-mail that does not follow these rules. Repeated offenders will be added to the spam filter.


    Academic Integrity

    You are encouraged to discuss solution approaches to homeworks and machine problems. The solution that you hand in has to be your own, however. This means that you are not to use any part (code, text, figures, etc.) that has been developed by others. Spelled out, this means:

    How do we determine that plagiarism has happend? We will delegate our decisions to code-similarity detection tools and automated plagiarism detection tools. Whenever a tool flags your submission, we will treat it as a potential case of plagiarism and we will issue a report to the Aggie Honor System Office. So, to be safe, stay away from other students' code and from homework solutions that are not your own!


    Disabilities Policy Statement

    The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact Disability Services, currently located in the Disability Services building at the Student Services at White Creek complex on west campus or call 979-845-1637. For additional information, visit http://disability.tamu.edu.
    Last modified: January 2016