Fall 2023 — 4.0 Units
Class time: MW 13:45 – 15:25 [sec 2]
15:40 – 17:20 [sec 3]
Class Location: Pereira 206
Class time: TTh 13:45 – 15:25 [sec 1]
Class Location: Pereira 200
Lab Mgr.: Masao Kitimura
Doolan 104, 310.338.8100
Dept. Admin.: Gina Konrad
Doolan 101, 310.338.7351
Prerequisite[s]: CMSI 281/2120
or consent of Instructor/Dept. Chair
2023-08-28 through 2023-12-15
Professor: B.J. Johnson, PhD
robert.johnson@lmu.edu
Office Hrs: Mon — Thur, 10:00 - 13:00
Office Location: Doolan 220 or Personal Z'room on line
[ask for zoom link]
Or book an appointment at:
LMU Outlook Booking Site

[Dedicated to the memory of Professor Phil Dorin, teacher, mentor and friend.]

Course Description from the Latest University Bulletin

An introduction to the basic organization of computer systems. Digital representation of textual and numeric information. Machine instructions and instruction formats, assemblers and assembly languages, linking and loading, process execution, interrupt and device-handling, and file management. System-level programming in C and assembly language.

Prerequisites

You will need much of the material from Data Structures to be successful in this course since there are lots of data structure things that are basically how the computer works.

This class uses the C language, the Intel x86 assembly language, and the ARM-7 assembly language for its concrete examples, homework, quizzes, and exams. You are more than welcome to ask questions whenever you need, for whatever clarification you need, either in class or out.

If you require additional practice with the C language, there are any number of online tutorials which you can use to hone your skills. In addition you can use other professors' web sites [either LMU or other schools] and things like Code Academy, Kahn Academy, codingbat.com, and good old Stack Overflow to help you when you are stuck.

We will also be doing some assembly language programming in the course. There is a large number of great references for coding in assembly language. Feel free to do some Internet searching on your own for that, but there are several that are listed below in the section about text books for the course.

Note that there will be three 'flavors' of assembly used, namely Intel X86 32-bit [windows], Intel X86 64-bit [mac with intel processor], and ARM-64 [mac with M1 or M2 processor].

And as always, feel free to come see me during office hours. I have a TON of books about C programming that I can let you look at and use in the office during help sessions, as well as several good texts on ASM.

We will also be looking at some of what's called embedded systems programming which is the kind of thing that is used in your car, in your TV, in your toaster and microwave, and in many, many other devices.

Note that the course description above from the University Bulletin is not very specific.... there is much more detail below!

Programming, like anything else, takes practice and perseverance. You must be willing to make mistakes, to learn how to fix them, and to learn not to be afraid of them. Humans [and now even computers!] learn by making mistakes, and this is the place to do so without fear.

Course Goals, Objectives, and Learning Outcomes

The goal of this course


When you finish the course, you will be able to:

  • Understand bit-level encoding/decoding/bit manipulation
  • Be able to describe and be comfortable with different number representations
  • Be able to describe and be comfortable with different character representations
  • Be able to describe and be comfortable with different machine instructions
  • Use the C programming language at a fundamental level to write programs
  • Write programs in X64/ARM assembler language
  • Understand how to call x64/ARM assembly programs from C and the other way round
  • Develop a detailed understanding of computer systems from a programmer's point of view, that is, from machine and assembly languages up to operating system services
  • Understand object and executable file formats, linking, system calls and memory protection schemes
  • Learn how to use compiler and assembler tools, as well as low-level debugging tools
  • Say, Yes, I've had some experience with that! when people ask you questions
GOOOOOOOOOOAAAAAAALLLLLLL

What You'll Need for Success

good to go

In a nutshell, here's what you should promise to do to be successful in this course:

  • Attend all classes — come prepared, having done the reading and having watched any videos
  • Do all the assigned homework, including visiting web sites, reading articles
  • Participate in class discussions, exercises, and activities
  • Ask LOTS of questions, both in class and out of class
  • Do well on the quizzes, which if you do the previous things will be no problem!

…and *I* promise to:

  • Ensure that learning outcomes for the course are clearly stated in this syllabus and are addressed during the semester
  • Be accessible and available during office hours and by appointment for interactive discussions, which can be one-on-one or in small groups
  • Provide constructive assistance and feedback to help you understand the material; such assistance and feedback can be via e-mail or text chat, or in person during office hours
  • Challenge you to do your best work and improve your interest in the topics presented
  • Always let you know as early as possible in advance, whenever I can, if there are any changes to the course or related materials
  • Always allow you to take photos of the whiteboard and to record lectures if you wish
  • Do whatever I can to ensure you leave this course with more skill than you had when you came into it
freaz!

Instructional Methods

freaz!

Course content will be delivered using a combination of lecture, discussion, problem-based learning, group work, projects, presentations, critiques, community-based learning, portfolios, etc. All work will be submitted using a GitHub repository. Use of GitHub and all other tools required for the course will be explained during class sessions. However, it will be up to the students to handle any and all installation on their respective computer. Of course, if you need help, it will be available!

The in-class exercises follow a form of I do, we do, you do — meaning I will show some code in class possibly writing it from scratch, then will work with you to change it some way, coding together, then will turn you loose to do more on your own in your teams.

Expected Workload

In accordance with the LMU Credit Hour Policy, this 4-unit course will require an average of 12 hours of work per week, which includes the time spent in class and lab sessions. This work will consist of homework, in-class work, watching and commenting on some videos and publications, and reading/study of provided materials.

Textbooks and Resources

There are NO REQUIRED textbooks for this course. There are a number of books that address the concepts and topics we will study, but they are all very expensive. While they do collect the information all in one place for convenience, you can find all the information on the Internet if you just apply yourself a bit. So instead of having to pay top dollar for an expensive textbook that you may only use for this course, the main source for written information for the course will come from these web pages and from the recorded videos and shared diagrams that will be done during class sessions. In addition, here are some very useful and informative links to related material:

I will also be presenting information from some textbooks that I have on my office bookshelf. This material will be given to you as handouts during the semester. Doing it this way will allow you to have free access to information that otherwise would cost you well over US$100 for a doorstop of a textbook.

Although we won't be covering these resources in their entirety for this course, we will be using them as primary resources. There will be some readings assigned from some of them, and you'll need to look up information from others.

There is a great deal of trial and error with this course, and you will be doing quite a bit of Internet searching for things. It can be a great deal of fun, since this is a bit like the scientific method of investigation! Be alerted that the final two homework sets and several of the final in-class exercises involve assembly language programming, so it is advisable to NOT WAIT until the night before the assignment is due to start working on it.

General Course Topics Outline

A list of topics that are covered, and the approximate order and time frame in which they will be discussed, is available on the class notes page for this site.

Reading Assignments

Here is the reading list:

  1. Week 01: Nothing for week 01 [obviously!]
  2. Week 02: Read the week 2 web page, Watch this video, Be ready to answer questions in class
  3. Week 03: Read the week 3 web page, Read the Command Line page, then
    Read In the Beginning Was The Command Line parts 1 – 5 [17 pages]
  4. Week 04: Read the week 4 web page, Watch this video, See if you can catch a very small mistake…
  5. Week 05: Read the week 5 web page, Watch this video on binary addition
  6. Week 06: Read the week 6 web page, Watch this video on Registers/RAM
  7. Week 07: Read the week 7 web page
  8. Week 08: Nothing for Week 08
  9. Week 09: Nothing for Week 09
  10. Week 10: Read How to Ask Questions the Smart Way by Eric Raymond
  11. Week 11: Read How to Become a Hacker also by Eric Raymond
  12. Week 12: [To Be Announced]
  13. Week 13: [To Be Announced]
  14. Week 14: [To Be Announced]
  15. Week 15: Nothing for Week 15
  16. Week 16: Nothing for Week 16

Homework Assignments

All written homework assignments are due at the beginning of the class on the date they are due. Deviation from this process requires prior consent of the instructor. I left my homework at home is not a valid reason for late work. This is college, and you can be responsible for remembering what you need to remember. Every effort is made to ensure assignments, required deliverables, and due dates are prominently posted on these pages; it is your responsibility to make sure you know what is due and when it is due.

You may certainly turn assignments in late; I will happily accept them, but they will be reduced in grade by one letter for each day they are late. Day means day, not workday or class day; an A+ homework due on Thursday which is not turned in until the following Tuesday will unfortunately only earn a failing grade, unless some prior arrangements are made with the instructor due to illness or some major schedule conflict. However, if you want to turn something in late, I'll still provide feedback even for assignments which have no chance of any credit; I keep this policy to allow you to get the learning benefit of the assignment even if you don't get a grade for it. My philosophy is that it is important for the students to know the material, even if an assignment doesn't get the best marks.

The following are the 'rules of the road' for homework assignments:

Other than these simple rules, there are no requirements for formatting, fonts, colors, diagrams, or anything else with respect to your homework assignments, other than good code craftsperson-ship.

There will be six homework assignments during the semester, due on the days shown in the list below, and on the assignments page. Each assignment will contain several excersises to help give you experience with the concepts covered. Each of these assignments is detailed on a separate web page. Homework will be done in groups of three. It is REQUIRED that you will work independently from other groups, although discussion of the concepts among groups is encouraged. Computer science is a collaborative enterprise, but you will be responsible for your own group's work on the submission of all your assignments. Each link below takes you to the web page for that assignment.

For the Monday/Wednesday section…
  1. Homework #1 — Due date 2023-08-30 [week 01]
  2. Homework #2 — Due date 2023-09-13 [week 03]
  3. Homework #3 — Due date 2023-09-20 [week 04]
  4. Homework #4 — Due date 2023-10-11 [week 07]
  5. Homework #5 — Due date 2023-11-01 [week 10]
  6. Homework #6 — Due date 2023-11-29 [week 14]
For the Tuesday/Thursday section…
  1. Homework #1 — Due date 2023-08-31 [week 01]
  2. Homework #2 — Due date 2023-09-14 [week 03]
  3. Homework #3 — Due date 2023-09-21 [week 04]
  4. Homework #4 — Due date 2023-10-12 [week 07]
  5. Homework #5 — Due date 2023-11-02 [week 10]
  6. Homework #6 — Due date 2023-11-30 [week 14]

There will also be weekly in-class exercises which serve to reinforce the week's concepts presented in class. They will be submitted in your repo in GitHub, but will not be graded for correctness. Instead, they are an indication of your progress and understanding. The will be graded pass/fail based on if they have been submitted in your GitHub repo. These are practice drills, but are good for maintaining and improving your skills. Also, having access to your repo helps ME to help YOU ~ I can take a periodic look to see how you are doing, and you can also commit code that is in process with which you need my help, or with which you're not finished.

Exams, Quizzes, and Projects

There will be two quizzes, but no midterm exam. There will be a final exam. Grades for the course will come from your homework assignments, your participation in the class, the quizzes, and your final exam. Quizzes will be closed everything. The final exam will be open everything except neighbor, because this is hard stuff.

For the Monday/Wednesday section…
  1. Quiz #1 — Date 2023-09-27 [week 05]
  2. Quiz #2 — Date 2023-11-08 [week 11]
For the Tuesday/Thursday section…
  1. Quiz #1 — Date 2023-09-28 [week 05]
  2. Quiz #2 — Date 2023-11-09 [week 11]

The final exam will take place according to the registrar's final exam schedule at this link.

Use of Technology

You will need access to a computer of some variety.

…Well, Duh…

If you don't have a computer available, work with Masao Kitamura the lab manager to get something set up. Of course, you can simply GO to the Keck lab and use one of those amazing and wonderful computers there.

zoom on, bro

You should download and install both a "C" compiler and a 'nasm' assembler from the web links given on the Week one web page. If you are on a Mac with an M1 or M2 processor, you'll need to make sure that the as and linker are installed.

You will also need to install and use some sort of text editor into which you can type your code in ASCII/Unicode text-only form. You cannot use a word processor such as Microsoft Word or Mac's TextEdit [unless you configure it properly] or other word-processing software which puts in special characters that the Java compiler won't recognize. Several possible free tools are available, such as the following:

You can certainly use Notepad [on Windows] or TextEdit [on Mac, if properly configured for plain text] to edit your source code, but it can be difficult to collaborate with these tools due to the lack of line numbers at the left margin. Also, there is no syntax coloring in those editors. On Mac, in the terminal window you can use the "vi" editor, but it takes some getting used to and is rather an "acquired taste".

SPECIAL NOTE:

Note that I don't use VSCode since I don't like or trust all the whistles and bells. I use a very basic editor only, so I won't be of much [if any] use to you solving problems with your VSCode configurations. For help with that, you'll need to talk to one of the stellar TA's in the Keck lab in Doolan Hall, room 112.

That said, one of the things I notice most often is problems with the built-in command pane in VSCode. Many people have problems with that configuration not working, not working correctly, or causing other problems. My solution to that is always BRING UP A 'REAL' COMMAND LINE TERMINAL WINDOW and perform the tasks in that. If it works there, whatever problem you're having with VSCode is a VSCode problem.

Besides, getting yourself familiar with the way the typed commands work on your computer is a GOOD thing to know — don't be a GUI-bound programmer! Yeah, I know, there are lots of cool things that tools can do for you, but many of them only work after you've configured them properly, while the command line is ALWAYS AVAILABLE!

OK, end of rant…

Attendance and Participation

Students are expected to attend classes as part of the expected workload, as explained above. You should arrive on time to all course meetings, prepared to engage in the course content. Arriving late or leaving early disrupts the learning experience. You are expected to notify the instructor in advance whenever possible if you will miss a class or if you anticipate arriving late or leaving early. You are expected to participate in all class activities — participation in this course is measured by how much you engage in the content and the activities. Activities are provided to assist your learning and help your progress toward the final assignments. As such, no assignments are optional unless they are labeled as optional.

Obviously, if you skip too many classes, you will likely not do well in the course, since you will miss important parts of the material; this is a simple and self-fulfilling prophecy.

I want to emphasize that I care about your learning. As part of your learning process in this class, I would like to invite you to evaluate yourself and participate in your own assessment for the class. It is important to me to know how you are doing – for example, are you understanding the concepts, are you able to put them into real-life situations and examples, are you connecting and engaging with the material, are the explanations clear to you. That is part of why there are in-class exercises every week, to give you experience with the concepts for that week.

Another thing — part of your class participation is to do the weekly in-class exercises and upload them to your GitHub repository. You will need to create the repository in the form that is given on the week one page, so that I can find them. These submissions will *NOT* be a part of your course grade other than as part of your participation.

The class participation rubric appears with the grading stuff in the tables further down the page.

Extra Credit

There will be some extra credit given in this course, based on optional parts of the homework sets.

Grading

Grades for the course are assigned according to the weighting factors shown in the tables below.

Final letter grades will be assigned based on the following scale:


PercentLetterEarned Achievement
90 - 100% A- / A Professional quality work; outstanding
80 - 90% B- / B / B+ Entry-level quality work; above average, shows extra effort and interest
70 - 80% C- / C / C+ Satisfactory work; expected with reasonable effort
60 - 70% D Substandard work; minimal effort shown
59 or lessF Thank you for playing; see you next semester



Evaluation ItemWeight
Homework [total, all 6]
homework01: 05%
homework02: 05%
homework03: 05%
homework04: 05%
homework05: 10%
homework06: 15%
45%
Quiz #110%
Quiz #215%
Final Exam [cumulative]25%
Class Participation 05%



Class Participation Criteria [Each Class Meeting]Value
Absent *without* prior notification/agreement of professor 0 pts
Absent *with* prior notification/agreement of professor OR 5 pts
Present in class, and hopefully:
Demonstrates excellent preparation from readings and other material.
Offers analysis, synthesis, and evaluation; puts together pieces of the
discussion to develop new approaches that take the class further.
Also, has in-class code checked in to proper classwork folder for the week.


Also of note…

An incomplete will be granted only when the requesting student has done at least 80% of the coursework, and has at least a B average in the course work completed. This policy is standard LMU policy.

Leave of Absence/Withdrawal Policy:

Please read the policy in the University Bulletin and at the top of the registrar's academic calendar page.

NOTE: All work is evaluated for both technical merit and quality of written and/or oral presentation. Find yourself a good spelling and grammar checker, or a trusted human editor, if you are having any difficulty with the rules of standard English language usage. Another excellent resource is the Academic Resource Center [ARC], located on the south side of Daum Hall. The center takes appointments, and also allows drop-in consultation sessions, and they have a number of good benefits. Call (310) 338-2847 to schedule an appointment. [For those that don't know, Daum Hall is the building where the LMU Security and Parking office used to be, which is not the home of ITS. ARC is on the second floor.]

The ARC also provides student support in the form of University advising, writing support, tutoring services, and first-to-go support, as well as:

Another thing to remember is, your coding style is just as important a part of your assignment evaluations as correctly running code. I WILL NOT HESITATE to take points off for code that has hard-coded numbers, lack of proper comments, poorly aligned indenting, etc. EVEN IF THE CODE RUNS CORRECTLY! Further, let me re-state that code that does not compile will be not be evaluated and you will have to do it over to get any credit for the assignment. Remember that I compile and run your code from the command line so just because it works in your editor is not a guarantee that it will work for me. Forewarned is forearmed, as the saying goes.

FAIR WARNING!!! DANGER WILL ROBINSON!!! FAIR WARNING!!!

In this class, documentation which is not of professional quality is no longer acceptable. Spelling, grammar, and internal document consistency all count and will cost you big-time if not correct! I will not hesitate to knock off a full letter grade on an otherwise perfectly correct assignment if there are egregious and/or numerous spelling/grammar errors. In addition, coding style will play a large part in determining the grade on the code for the homework and project. It is the job of each student to properly structure, comment, and indent, to select the proper names for variables, and to not hard-code values. NO MAGIC NUMBERS!

FAIR WARNING!!! DANGER WILL ROBINSON!!! FAIR WARNING!!!

DANGER. WILL. ROBINSON.

Course Evaluations

Student feedback on this course provides valuable information for continued improvement. All students are expected to fairly and thoughtfully complete a course evaluation for this course. All course evaluations for the Seaver College of Science and Engineering are administered online through the Blue evaluation system. You will receive several e-mail notifications at your Lion e-mail address when the evaluation form is available near the end of the term. You may also access the evaluation form on Brightspace during the evaluation period. A few minutes of class time will be reserved for you to complete a course evaluation near the end of the semester. Please bring a laptop, smart phone, tablet or other mobile device to class on this date so that you can access the online evaluation platform.

Academic Honesty and Integrity

freaz!

General Statement

Loyola Marymount University is a community dedicated to academic excellence, student-centered education, and the Jesuit and Marymount traditions. As such, the University expects all members of its community to act with honesty and integrity at all times, especially in their academic work. Academic honesty respects the intellectual and creative work of others, flows from dedication and pride in performing one's own best work, and is essential if true learning is to take place. As an LMU Lion, by the Lion's Code, you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship.

Academic dishonesty will be treated as an extremely serious matter, with severe consequences that can range from receiving no credit for an assignment or test to failing the class, to expulsion.

  • It is never permissible to turn in any work that has been copied from another student or copied from a source [including the Internet] without properly acknowledging/citing the source.
  • It is never permissible to work on an assignment, exam, quiz or any project with another person unless your instructor has indicated so in the written instructions/guidelines.
  • It is your responsibility to make sure that your work meets the standard of academic honesty set forth in the Academic Honesty Policy found at: academics.lmu.edu/honesty/.

For an additional resource, see and the LMU Honor Code and Process found at: this link.

Unauthorized Access to or Alteration of Privileged and Proprietary Information:

Special Accommodations

The DSS Office offers resources to enable students with physical, learning, ADD/ADHD, psychiatric disabilities and those on the autism spectrum to achieve maximum independence while pursuing their educational goals. Staff specialists interact with all areas of the University to eliminate physical and attitudinal barriers. Students must provide documentation for their disability from an appropriate licensed professional. Services are offered to students who have established disabilities under state and federal laws. We also advise students, faculty and staff regarding disability issues. Students who need reasonable modifications, special assistance, academic accommodations or housing accommodations should direct their request to the DSS Office as soon as possible. All discussions will remain confidential.

The DSS Office is located on the 2nd floor of Daum Hall and may be reached by email at dsslmu@lmu.edu or phone at (310) 338-4216. Please visit http://www.lmu.edu/dss for additional information.

Students should also keep in mind that resources are available through the Library [https://library.lmu.edu] and Information Technology Services [https://its.lmu.edu]. The DSS Office can help students connect with the appropriate person at the Library and ITS.

Respect For Self And Others

As an LMU Lion, by the Lion's code, you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship and to show respect for staff, professors, and other students.

The following LMU documents are available to reference:

  • LMU's Community Standards, which defines prohibited conduct (section III):
    available for download at: [Community Standards document]
  • The Lion's Code [see LMU's Community Standards at the link immediately above.]
  • The LMU Student Affairs brochure Disruptive and Threatening Student Behavior (Fall 2010), which states Disruptive behavior which is persistent or significantly interferes with classroom activities may be subject to disciplinary action. A student may be referred to the Office of Student Judicial Affairs if their behavior constitutes a violation of the conduct code.
DANGER. WILL. ROBINSON.

For more information on this or any other conduct issues, please refer to the Student Codes and Policies section in the Community Standards. The Lion's Code, Student Conduct Code, Honor Code and Process, and information on many other policies are available from that link. You can find any and all other related data from the Office of Student Conduct & Community Responsibility web page. Also check the main Student Affairs Department Website.

Expectations for Classroom Behavior

Electronic Devices: Pretty easy — please turn off your cell phone ringer during class time. That's it for me! However…

The official LMU language for this is:

Please turn off and put out of sight all electronic devices (other than those and when allowed) during class-time. The interruptions and/or distractions they cause disrupt class and interfere with the learning process. Even if you are not on video, it's distracting to you.

Expectations for Classroom Behavior in an Online Learning Environment

  1. Netiquette: In addition to LMU's Community Standards, The Lion's Code and Guidelines on LMU Student Classroom and Course-Related Behavior, students should adhere to Netiquette. Your instructor and fellow students need a safe, online learning environment. All opinions and experiences shared, no matter how controversial they may be perceived to be, must be respected in the spirit of academic discourse. You are encouraged to critique an idea but should not attack an individual. Working as a community of learners, we can build a respectful space for discourse. Below are some tips for good netiquette:
    • Listen actively: listen to understand, to learn, and to receive information.
    • Present ideas appropriately
      1. Avoid the use of offensive language
      2. Be aware if Internet Language. For example, do not capitalize all letters since this suggests shouting.
      3. Popular emoticons such as 😜 or 👍 can be helpful to convey your tone but don't overuse them
      4. Use an appropriate and respectful tone when communicating formally or informally.
    • As in a classroom-based session, engaging in private chat during remote class discussions and presentations is disruptive.
    • Do not work on other things during class attendance
    • It may be tempting to multitask during class, but this will impede your learning. Your full focus on the conversation and class materials is required.
    • Before posting your question to a discussion board, check if anyone has asked it already.
    • Don't post irrelevant links, comments, thoughts or pictures.
    • If you refer to something your classmate said earlier in the discussion, quote just a few key lines from their post so that others won't have to go back and figure out which post you're referring to.
    • Respect the opinion of your classmates. If you feel the need to disagree, do so respectfully and acknowledge the valid points in your classmate's argument.
    • Be willing to express dissent. There should be space for non-majority opinions.
    • Edit before you push the Send button.
    • Students are expected to attend class sessions without interruptions.
  2. Zoom Sessions:
    • Please keep your camera on.
    • Please keep your microphones muted until it is your turn to speak.
    • Please use the raise hand feature or use the chat if you have a question or comment.
    • Be an active participant in the breakout sessions.
    • All Zoom sessions will be recorded and put on Brightspace. Please review these if you are unable to attend or need to leave early. Note that I will be intending to break recordings into short parts, shooting for about 10 minutes each, so there will be some stopping and re-starting of videos.
  3. Safety and Privacy in the Remote Learning Environment:

    Students and faculty have a reasonable expectation for privacy in all learning spaces. Bimodal and remote learning can involve the use of synchronous video conferencing, asynchronous recorded lectures, live and online discussions, as well as online forums. In these venues, privacy is a priority for a safe learning environment. See Lion's code.

    As a member of our online community, please follow these privacy guidelines:

    • Videos captured during class meetings should be used only to support student learning and to prepare students for effective learning.
    • Do not share screenshots or images from sessions.
    • Do not record any sessions with your own device; asynchronous classes will be posted in a secured page on Brightspace and may not be downloaded, manipulated, or distributed, or uploaded to a public page for any reason [unless with instructor permission].
    • Do not share class access information such as Zoom links etc.

Because of the nature of the class delivery method during remote zoom times we will also take a look at a document which will serve as a guide for everyone in the class. This Netiquette Document is published here and on the Brightspace site for this class. We will take a look at it during the first week of class and will work to make it agreeable to everyone involved.

Emergency Preparedness

Public Safety can be reached 24/7/365 at 310.338.2893 [or x222 from a campus phone]. In a life-threatening emergency, call 911 first and then call Public Safety if possible. To report an incident, call Public Safety, submit an e-report on the Public Safety website or via the Rave Guardian mobile app, or visit Public Safety in Foley Annex. Review evacuation information and other safety tips posted in each learning space. Make sure you're registered to receive emergency alerts – confirm your contact information in PROWL, and also download Rave Guardian in the Apple or Google Play store. For more information and emergency preparedness tips, visit https://publicsafety.lmu.edu.

To report an emergency or suspicious activity, contact the LMU Department of Public Safety by phone (x222 or 310-338-2893) or at the nearest emergency call box. In the event of an evacuation, follow the evacuation signage throughout the building to the designated safe refuge area where you will receive further instruction from Public Safety or a Building Captain.

For purposes of evacuating the building, our safe area is the sunken gardens. There will be people to guide you.

For more safety information and preparedness tips, visit http://www.lmu.edu/emergency.

Office Hours / Communication / Contact Information

Office hours are listed at the top of this syllabus page. I will make every effort to be available during those hours, and if I cannot for some emergency reason, I'll make sure you all know about it in advance if possible. Office hours will be held on zoom in my personal meeting room as much as possible, for your protection. A link to the office hours z'room is provided on the BrightSpace course page.

I am also always available by e-mail at: my LMU mail address

YOU MUST CHECK YOUR LION EMAIL ADDRESS OF RECORD. I will start the semester's communications by sending all email blasts to everyone's lion.lmu.edu email address, which is known as your address of record. If you specifically provide me with a preferred alternative email to use I will be happy to oblige. I create a distribution list to which I send all general communications in addition to the slack channel, so it is important for me to have an email address which you will check on a regular basis.

Tentative Nature of the Syllabus

If necessary, this syllabus and its contents are subject to revision. Students are responsible for any changes or modifications announced or distributed in class, emailed to students' LMU Lion accounts or posted on LMU's course management system, Brightspace. If you are absent from an in-person or online class meeting, it is your responsibility to check Brightspace [and/or the course website] and to check with the professor to see if you missed any important class announcements. Students should not rely on word-of-mouth from classmates.