COP-3402 Systems Software (2024)

Table of Contents

  • Course Details
  • Schedule
  • Assignments
  • Logistics
  • Textbooks
  • Course Information
  • Core Policy Statements

Course Details

CourseCOP-3402 Systems Software
SchoolUniversity of Central Florida
SemesterFall 2024 (08/19–12/07)
Section001
PrerequisitesCDA 3103C and COP 3502C each with a grade of C (2.0) or better
LecturesTuesdays and Thursdays, 1200–1320, 08/20–11/26 (inclusive)
LocationPSY 0108
FinalThursday, December 5th, 1000–1250
InstructorPaul Gazzillo paul.gazzillo@ucf.edu
TAsBrent Pappas, Sanan Hasanov
GradersFabian Ruiz Delgado, Rahul Ghosh

Labs

DatesPersonnelDayTimeLocation
08/30–11/22BrentFriday0930–1020CB1 O120
08/30–11/22BrentFriday1030–1120CB1 O320
08/30–11/22BrentFriday1130–1220CB1 O320
08/30–11/22BrentFriday1230–1320CB1 O320

Office hours

DatesPersonnelDayTimeLocation
08/26-11/26PaulTuesday1330–1430HEC-239
08/26-11/26PaulWednesday1030–1130HEC-239
08/26-11/26SananMonday1030–1130ENG2-237
08/26-11/26SananThursday1030–1130ENG2-237
Exam WeekPaulTBDTBDHEC-239

Schedule

#DateTopicVideoBoardHWProjectDue
108/20Introductionvideohw1
208/22The file systemvideoboardhw2
Using the command-line
308/27Navigation (audio)videoboardhw3
408/29Processesvideoboardhw4
509/03Advanced processesvideoboardhw5
Programming environment
609/05Editorvideohw6hello
709/10Building, testing, and debugginghw7
809/12Version controlhw8
Systems programming
909/17Using fileshw9mylshello
1009/19Process creationhw10
1109/24Process I/Ohw11
1209/26Building a shellhw12mysh
Mid-term
1310/01Reviewmyls
1410/03Exam
Compiler foundations
1510/08Source code to running processhw13
1610/10Functions, the C runtimehw14
1710/15Parsinghw15calc
1810/17Intermediate languagehw16mysh
Compiler implementation
1910/22Functionshw17calc
2010/24Function callshw18codegen1
2110/29Local variableshw19
2210/31Function parametershw20codegen2
2311/05Arithmetichw21
2411/07Branchinghw22codegen3codegen1
2511/12Pointer ref and derefhw23
2611/14Pointer assignmenthw24codegen4codegen2
2711/19Bringing it all together
2811/21Final exam reviewcodegen3
2911/26Special topic: TBD
Final12/05Final exam (1000–1250)codegen4

Assignments

Categories

CategoryNumberPoints (pt) per AssignmentTotal Points (pt) per Category
Homework24x1pt24pt
Projects8x6pt48pt
Midterm1x8pt8pt
Final1x16pt16pt
Participation1x4pt4pt
TOTAL100pt

All assignments are individual assignments. Please see Core Policy Statements for policies about academic integrity.

Homework

  • Due before the following lecture at 11:59 AM (in the morning before the noon lecture).
    • For example, homework 15 (hw15) is assigned in lecture 17 on 10/15 and due the following lecture (18) on 10/17 by 11:59 AM.
  • Submit via webcourses.
  • Graded for genuine effort, not 100% accuracy.
  • Homework answers are reviewed in the following lecture, so late homework receives 0pt.

Projects

  • Due on the date in the schedule by the end of day Orlando time, i.e., 11:59 PM
  • Must make an initial submission by the due date
    • No submission by the due date results in 0pt with no opportunity for resubmission
  • Submitted projects can also be resubmitted any time up until the final exam for a 0.5pt deduction per project
  • Examples:
    • A student submits the myls project on 10/03, after the due date. The project receives a 0 with no opportunity to resubmit
    • A students submits the myls project on 10/01 by the due date. The projects recieves only 2 out of 6pt. The student resubmits a fully-working project on 11/19 and gets 5.5 out of 6pt, full credit minus the 0.5pt late penalty.
    • A student submits a fully-working myls project by the due date on 10/01 and gets 6 out of 6pt with no late penalty.
  • Submit via git on eustis

Midterm and Final

  • Material from homework, projects, and lectures
    • Final is cumulative but focused on second-half material
  • In-class review the lecture before the exam
  • Eight double-sided pages of reasonably-sized notes
  • Mid-term held during class
  • Final held during finals week

Participation

  • Examples of participation
    • Showing up to class
    • Asking or answering questions during class
    • Participating in class discussions on edstem
    • Seeking help during office hours

Bonus project

  • Listen for project opportunities during lectures or propose a bonus project idea
  • Must demonstrate code and running examples during office hours before the final exam.
  • Up to 6pt
  • See instructor for more details

Letter Grades

A >= 90%, B+ >= 87%, B >= 80%, C+ >= 77%, C >= 70%, D >= 60%, F < 60%. (minuses may be used in some cases)

Logistics

Overview

WhatWhere
SyllabusWebsite
Lecture notes, videosWebsite
Homework assignmentsWebsite
Project descriptionsWebsite
Project implementationeustis
Project submissiongit server
Homework submissionWebcourses
Questions and discussionEd Discussion

Computing Requirements

All students will need access to a computer that can connect toeustis to complete course assignments. For students without their owndevice, UCF provides both computer labs and loaner devices at noadditional cost.

eustis

SSH ServerUsernamePassword
eustis.eecs.ucf.eduYour NID (ab123456)Your NID password
  • Connect to eustis via ssh:

    ssh NID@eustis.eecs.ucf.edu

    where NID is your UCF NID, e.g., ab123456.

  • Enter your NID password. Alternatively, setup an ssh key.

Note: eustis is only accessible on campus or via VPN.

External guides

(Links are for informational purposes only and their inclusion is not an endorsem*nt of their content.)

git server

Programming projects will be submitted as git repositories to gitolite3@eustis3.eecs.ucf.edu. Detailed usage instructions will be provided as part of the course.

Ed Discussion

https://edstem.org

You will receive an invitation to join the class discussion board in the second week of classes.

Textbooks

BookeTextbook LinkChapters to Download
COP-3402 Systems Software (1)21st Century CPreface, 1, 2, 3, 4, 5
COP-3402 Systems Software (2)The Linux Programming Interface2, 3, 4, 6, 18, 24, 25, 26, 27, 44

Download Instructions from UCF Libraries

The digital versions of the course textbooks are available for free through the UCF Libraries. Accessing the textbook requires that you authenticate (log in) with your NID. You are permitted to read the textbook online and/or download content to read offline. If PDF downloads are available for your book, this method is recommended to ensure uninterrupted access to the content. Any unauthorized sharing of the textbook content is in violation of the license agreement between the publisher and university. The license permits access to this textbook for current UCF students, staff, and faculty only. Contact your librarian if you have any questions.

COP-3402 Systems Software (3)

Notice in the first circle that it tells you how many PDF pages can be downloaded per day. It starts at 164 per day, then resets after 24 hours.

Scroll down and see the next circled area. This is where you find the Download PDF links. Do those. Do NOT do the "Read Online" or "Download Book" options on the left (as these options prevent other students from using the eBook).

Thanks to Lily Dubach for getting students book access and providing the instructions above.

Optional recommended texts

  • (Dragon Book) Compilers: Principles, Techniques, & Tools, Second Edition by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Addison Wesley, 2007
  • The Practice of Programming by Brian W. Kernighan and Rob Pike. COP-3402 Systems Software (4)
  • The Definitive ANTLR 4 Reference Second Edition by Terence Parr, 2013.
  • Advanced Compiler Design and Implementation by Steven Muchnich. Morgan Kaufman, 1997
  • Modern Compiler Implementation in C by Andrew Appel. Cambridge University Press, 1998
  • Compiler Construction: Principles and Practice by Kenneth C. Louden, PWS, 1997
  • Concepts of Programming Languages, 8th Edition by Robert W. Sebesta. Addison Wesley, 2010.

Course Information

Description

This course overviews the use and creation of systems software: file systems; the command-line interface; use of processes and files; the programming environment; use of build systems, editors, and version control; systems programming; compilers.

Learning Outcomes

This course will provide students an understanding of how systems software is used, design, and built. By the end of the course, students should undertand the file system, be conversant in the command-line, learn the unix philosophy of systems programming, be familiar with GNU/Linux development toolchain, and have first-hand experience building systems software, including a shell and a compiler.

Labs

  • Labs provide additional support and content to ensure student success this semester and will provide
    • Further detail about concepts covered in lecture
    • Introduction to some content not shown in lecture
    • Lecture Review
    • Additional time for Q&A at the end of lab

Core Policy Statements

Unauthorized Assistance with Coursework

Receiving a work product (e.g., a homework paper or code submitted in response to an assignment) from other individuals (other students in the course, former students, tutors, etc.) is considered "Unauthorized assistance". Giving such a work product to other individuals, either willfully or through negligence, is considered "Helping another violate academic behavior standards." Copying a work product from submissions from past semesters, or copying from an online repository is considered "Plagiarism." You are allowed to discuss class materials and high level concepts related to the assignment with others. However, you must work individually when creating the work product. For programming assignments, you must design algorithms, data structures, and develop code individually. Any violation to the above is considered Academic Integrity Violation. Students found to be in violation of academic integrity will be reported to the Office of Integrity and Ethical Development, in addition to receiving a zero grade on their assignments. Following the report, The Office may conduct hearing, and if found in violation, a student may receive penalties, up to and including dismissal from the university. Unless stated explicitly as team/group assignments, students should assume that assignments are to be performed individually, or ask the instructor for explicit clarification.

Academic Integrity

The Center for Academic Integrity (CAI) defines academic integrity asa commitment, even in the face of adversity, to five fundamentalvalues: honesty, trust, fairness, respect, and responsibility. Fromthese values flow principles of behavior that enable academiccommunities to translate ideals into action.http://academicintegrity.org/

UCF Creed: Integrity, scholarship, community, creativity, and excellence are the core values that guide our conduct, performance, and decisions.

  1. Integrity: I will practice and defend academic and personal honesty.
  2. Scholarship: I will cherish and honor learning as a fundamental purpose of my membership in the UCF community.
  3. Community: I will promote an open and supportive campus environment by respecting the rights and contributions of every individual.
  4. Creativity: I will use my talents to enrich the human experience.
  5. Excellence: I will strive toward the highest standards of performance in any endeavor I undertake.

The following definitions of plagiarism and misuse of sources comefrom the Council of Writing Program Administratorshttp://wpacouncil.org/node/9 and have been adopted by UCF'sDepartment of Writing & Rhetoric.

Plagiarism

In an instructional setting, plagiarism occurs when a writer deliberately uses someone else's language, ideas, or other original (not common-knowledge) material without acknowledg­ing its source. This definition applies to texts published in print or on-line, to manuscripts, and to the work of other student writers.

Misuse of Sources

A student who attempts (even if clumsily) to identify and credit his or her source, but who misuses a specific citation format or incorrectly uses quotation marks or other forms of identifying material taken from other sources, has not plagiarized. Instead, such a student should be considered to have failed to cite and document sources appropri­ately.

Responses to Academic Dishonesty, Plagiarism, or Cheating

UCF faculty members have a responsibility for your education and the value of a UCF degree, and so seek to prevent unethical behavior and when necessary respond to infringements of academic integrity. Penalties can include a failing grade in an assignment or in the course, suspension or expulsion from the university, and/or a "Z Designation" on a student's official transcript indicating academic dishonesty, where the final grade for this course will be preceded by the letter Z. For more information about the Z Designation, see http://goldenrule.sdes.ucf.edu/zgrade.

For more information about UCF's Rules of Conduct, see http://www.osc.sdes.ucf.edu/.

Unauthorized Use of Class Materials

There are many fraudulent websites claiming to offer study aids to students but are actually cheat sites. They encourage students to upload course materials, such as test questions, individual assignments, and examples of graded material. Such materials are the intellectual property of instructors, the university, or publishers and may not be distributed without prior authorization. Students who engage in such activity are in violation of academic conduct standards and may face penalties.

Unauthorized Use of Class Notes

Faculty have reported errors in class notes being sold by third parties, and the errors may be contributing to higher failure rates in some classes. The following is a statement appropriate for distribution to your classes or for inclusion on your syllabus:

Third parties may be selling class notes from this class without my authorization. Please be aware that such class materials may contain errors, which could affect your performance or grade. Use these materials at your own risk.

In-Class Recording Policy

Outside of the notetaking and recording services offered by Student Accessibility Services, the creation of an audio or video recording of all or part of a class for personal use is allowed only with the advance and explicit written consent of the instructor. Such recordings are only acceptable in the context of personal, private studying and notetaking and are not authorized to be shared with anyone without the separate written approval of the instructor.

Course Accessibility Statement

The University of Central Florida is committed to providing access and inclusion for all persons with disabilities. This syllabus is available in alternate formats upon request. Students with disabilities who need specific access in this course, such as accommodations, should contact the professor as soon as possible to discuss various access options. Students should also connect with Student Accessibility Services (Ferrell Commons, 7F, Room 185, sas@ucf.edu, phone (407) 823-2371). Through Student Accessibility Services, a Course Accessibility Letter may be created and sent to professors, which informs faculty of potential access and accommodations that might be reasonable.

Campus Safety Statement

Emergencies on campus are rare, but if one should arise in our class, we will all need to work together. Everyone should be aware of the surroundings and familiar with some basic safety and security concepts.

  • In case of an emergency, dial 911 for assistance.
  • Every UCF classroom contains an emergency procedure guide posted on a wall near the door. Please make a note of the guide's physical location and consider reviewing the online version at http://emergency.ucf.edu/emergency_guide.html.
  • Familiarize yourself with evacuation routes from each of your classrooms and have a plan for finding safety in case of an emergency. (Insert class-specific details if appropriate)
  • If there is a medical emergency during class, we may need to access a first aid kit or AED (Automated External Defibrillator). To learn where those items are located in this building, see http://www.ehs.ucf.edu/AEDlocations-UCF (click on link from menu on left). (insert class specific information if appropriate)
  • To stay informed about emergency situations, sign up to receive UCF text alerts by going to my.ucf.edu and logging in. Click on "Student Self Service" located on the left side of the screen in the tool bar, scroll down to the blue "Personal Information" heading on your Student Center screen, click on "UCF Alert", fill out the information, including your e-mail address, cell phone number, and cell phone provider, click "Apply" to save the changes, and then click "OK."
  • If you have a special need related to emergency situations, please speak with me during office hours.
  • Consider viewing this video (https://youtu.be/NIKYajEx4pk) about how to manage an active shooter situation on campus or elsewhere.

Deployed Active Duty Military Students

If you are a deployed active duty military student and feel that you may need a special accommodation due to that unique status, please contact your instructor to discuss your circ*mstances.

Author: Paul Gazzillo

Created: 2024-08-29 Thu 19:29

Validate

COP-3402 Systems Software (2024)

References

Top Articles
Latest Posts
Article information

Author: Mrs. Angelic Larkin

Last Updated:

Views: 6340

Rating: 4.7 / 5 (67 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Mrs. Angelic Larkin

Birthday: 1992-06-28

Address: Apt. 413 8275 Mueller Overpass, South Magnolia, IA 99527-6023

Phone: +6824704719725

Job: District Real-Estate Facilitator

Hobby: Letterboxing, Vacation, Poi, Homebrewing, Mountain biking, Slacklining, Cabaret

Introduction: My name is Mrs. Angelic Larkin, I am a cute, charming, funny, determined, inexpensive, joyous, cheerful person who loves writing and wants to share my knowledge and understanding with you.