and good old Stack Overflow
to help you when you are stuck.
We will also be doing a good deal of assembly language programming in the course. There is a
large number of great references for coding in assembly language. You must do some Internet
searching on your own for them, 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 your
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 computers as well!] learn by making mistakes and iterations, and this is
the place to do so without fear.
Course Goals, Objectives, and Learning Outcomes
…My Hope and Intent For You…
When you finish the course, you will be able to:
- Understand how the processor handles numbers, including bit-level
encoding/decoding, bit manipulation, and bit storage schemes
- Understand how individual machine instructions are used to solve problems
- 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 the operating system
- Learn how to use compiler and assembler toolsand low-level debugging tools
|
|
What You'll Need for Success
| Two Tips for Success
Lots of people have lots of advice, but here are two particularly good items:
- Be aware of how students trick themselves into thinking
they are learning. Cramming, rereading, and highlighting do not move information
from your working memory into your long-term memory. Short-term working memory is
not
learned . Recall is the most effective way to load your long-term
memory. Please work through Nicky Case's interactive essay
How to remember everything forever-ish.
[Also,
this article
backs up the importance of recall.]
- Use checklists, as these are incredibly effective. Read Atul Gawande's
The Checklist
and think about how you apply these to your studies.
In a nutshell, here's what you should promise *YOURSELF* 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!
|
In return, *I* promise you that I will:
- Provide a syllabus with stated learning outcomes [that's this page you're seeing now]
- Have those learning outcomes addressed
- Be available for live chats during office hours
- Have questions answered via email [one-day turnaround whenever possible]
- Be available for video and text chats with the instructor
- Provide feedback on your work which is as comprehensive as I can make it
- Give you a challenging experience [you should be working a little outside your comfort
zone]
- Record all lecture sessions and store them online for you to access
- Do my best to give you an experience beyond what you would get from books, websites,
online tutorials, and discussion forums
- Provide a safe space in which you can feel like you belong [if you are experiencing
impostor syndrome or stereotype threat, please see me about it]
- Do my utmost to help you leave the course better skilled than when you came in
|
|
Instructional Methods
| Lectures and Course Content
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 submitted work will be maintained using a GitHub repository.
Use of GitHub and all other tools required for the course will be explained during class
sessions, with the exception of the nuances of your 'code-editor-of-choice'. However,
it will be up to the student to handle any and all installation on their respective
computer. Of course, if you need help, it will be available, and I'll do my best to
help you get things working! If I don't know the answer I'll find someone who does.
In-class Exercises
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 I'll turn you loose to do more on your own
in your teams. Most of the semester will be structured by introducing topics in the
first session of the week, followed by in-class experience with coding in the second
session of the week.
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/discussion 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 that
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, which you will need to read and
work with during the course:
- Intel Corporation, Intel® 64 and IA-32 Architectures Software Developer Manuals
- David Goldberg, What Every Computer Scientist Should Know About Floating-Point Arithmetic, ACM Computing Surveys, 23:(1), March 1991.
- Sandpile
- Agner Fog, How to Optimize for the Pentium Processors
- The Executable and Linking Format
- Aleph One, Smashing the Stack for Fun and Profit
- OWASP Home Page dealing with cyber security
- CPUlator Computer System Simulator
- myCompiler Create a new Assembly program
- Assembly Language Programming with ARM Full Tutorial for Beginners
- Tutorials for Computer Programming Languages
- Intel x86 Assembly Language & Microarchitecture Calling Conventions | x86 Tutorial
- Using_gdb_for_Assembly.pdf
- GDB to LLDB command map - The LLDB Debugger
- GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++
I will also be presenting information from some textbooks that I have on my office bookshelf,
as well as some material from on-line texts which are very good resources. 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 will
involve assembly language programming. For those homework assignments, 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:
- Week 01:
Nothing for week 01 [obviously!]
- Week 02:
Read the week 2 web page,
Watch this video,
Be ready to answer questions in class
- 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]
and read
about its author Neal
Stephenson, the science fiction author
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. The normal due date is the second session of the week that the assignment is due
which means Wednesday for Monday-Wednesday sections, and Thursday for Tuesday-Thursday
sections. Deviation from this process requires prior consent of the instructor.
Every effort is made to ensure assignments, test dates, quiz dates, required deliverables, and all
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:
- Homework will be done in groups. I cannot stress enough that this means
EVERYONE IN THE GROUP WORKS TOGETHER on every assignment.
DO NOT divide them up so that person 'A' takes problems 1-2, person 'B' takes problems
3-4, etc. PLEASE DON'T DO THAT!
- Homework assignments are submitted in your GitHub repository for your group. You will
have one set up for your group to use. I'll explain the configuration for all that in
dlass during week 01.
- It would be a good idea to put the due dates for homework assignments in your calendar.
I don't use BrightSpace for any of that, so it is up to you to keep track for yourselves.
- All assignments must use proper American English and/or Programming Language
spelling and grammar. Failure to do so could cost you a letter grade, so get a
spell-checker and a grammar checker, or find a friend who is proficient to proofread your
work before it is submitted.
- Any assignments which are to be printed out for submission must be printed on a
printer. Graphics may be hand-drawn as long as the drawing is done neatly;
think like an engineer and use a ruler and other drawing tools to make your work neat,
and you can submit a cell phone picture of the drawing.
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
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.
Homework Due Dates By Week…
First date is for Wednesdays/second date is for Thursdays.
FINAL ASSIGNMENT IS DUE ON MONDAY/TUESDAY DUE TO THANKSGIVING HOLIDAY.
- Homework #1 — Due date 2024-08-28/2024-08-29 [week 01]
- Homework #2 — Due date 2024-09-11/2024-09-12 [week 03]
- Homework #3 — Due date 2024-09-18/2024-09-19 [week 04]
- Homework #4 — Due date 2024-10-09/2024-10-10 [week 07]
- Homework #5 — Due date 2024-10-30/2024-10-31 [week 10]
- Homework #6 — Due date 2024-11-25/2024-11-26 [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 repository in GitHub,
but will not be graded for correctness. Instead, they are used as
an indication of your progress and understanding. They will be graded
pass/fail based on if they have been submitted in your GitHub repo. These are practice
drills, which are good for understanding the week's topic, and 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 impromptu quizzes during the semester, usually near
the end of the first class day of the week. These are designed to allow you immediate
practice with the material for that day/week. These are not for score, just for practice. These
quizzes will be done using a tool called Kahoot, which will be
explained to you during class this week and next week.
There will be two formal quizzes, but no midterm exam. Quizzes
are in-person, hand-written tests for which you must be present.
First date below is for Wednesdays/second date is for Thursdays.
- Quiz #1 — Date 2024-09-25/2024-09-26 [week 05]
- Quiz #2 — Date 2024-11-06/2024-11-07 [week 11]
There will be a final exam. The final exam will take place according
to the registrar's final exam schedule at
this link.
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.
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.
|
|
If you are using a Windows computer, 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, M2, or M2 processor, you'll need to make sure
that the as
assembler and the ld
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 C
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 able to help you with 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 configuration 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. 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:
Percent | Letter | Earned 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 less | F | Thank you for playing; see you next semester
|
Evaluation Item | Weight |
---|
Homework [total, all 6]
homework01: 05%
homework02: 05%
homework03: 05%
homework04: 05%
homework05: 10%
homework06: 15% | 45%
|
Quiz #1 | 5%
|
Quiz #1 Re-do | 10%
|
Quiz #2 | 10%
|
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.
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.
Also remember that I compile and run your code from the command line
so just because it works in your editor or IDE is not a guarantee that it will work for me.
Spend the extra few minutes to get your code to work the way it will be evaluated, since I
will not be entertaining well let me prove it works
office hour sessions. 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. 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!!!
|
|
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 in BrightSpace. 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.
Academic Honesty and Integrity
| 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:
- Unauthorized access to and/or use of privileged University documents, files, or information and/or
alteration thereof by electronic or any other means.
- Unauthorized access to and/or use of proprietary information. For example, the unauthorized
dissemination of research prior to publication.
- Unauthorized access to and/or use of University course resources and materials. For example,
distributing any course materials [syllabus, assignments, exams, etc.] without explicit permission
from the instructor. Therefore, dissemination or sharing of any classroom recording [e.g., Zoom or
other videos posted by the instructor] without the permission of the instructor would be considered
unauthorized use
and, therefore, prohibited
Generative AI and Your Learning
Academic honesty includes the appropriate use of technology as an aid for learning and productivity.
This includes but is not limited to LLM-based generative artificial intelligence tools such as ChatGPT,
Gemini, and Copilot.
Modern GenAI provides fast solutions to a variety of computing problems but must be used responsibly to
get the most out of your education. GenAI will not always be helpful, especially when asked to write
code for scenarios it cannot recognize. It cannot independently validate the code that it produces, and
will frequently produce bugs and security vulnerabilities, making things worse for you. It will not be
available for job interviews. As a student and future software professional, you have a moral and
ethical responsibility to deeply understand every line of the software you author and should therefore
employ GenAI in your coursework sparingly, especially when its use might rob you of the stretch-zone
learning that comes from crafting programs on your own.
That said, there are several acceptable use cases of GenAI in programmatic assignments, including:
- Generating short documentation strings and type hints.
- Finding examples and explanations for syntactic forms [e.g., how to use the spread operator; how
to assign variables directly from an array or object; how to construct a dictionary comprehension;
how to unwrap an optional, and so on]. Prompt the AI for the how-to's, not your final code.
- Interpreting error messages, as these might be pretty cryptic! Sometimes the AI can be a useful tutor when explaining things it is familiar with.
- Generating unit tests for edge cases. When it finds something you overlooked, make a mental or written note so you can find these cases on your own next time.
- Brainstorming new ideas for applications.
Remember the four A's
:
DO use technologies such as GenAI to Augment ✅,
Amplify ✅ and
Accelerate ✅ your learning;
NEVER use technology to Avoid ❌ learning.
Be Responsible!:
Generally, using GenAI and related tools without knowing what you are doing often leads to poor
homework submissions that rarely achieve a grade higher than an F on their own merits, simply due to
hallucinations and an inability to carry out tasks as they were assigned [even with good prompts].
Also, professors and TAs are GenAI users themselves and will be able to easily detect inappropriate
student use of these tools. The teaching staff will try to steer you back on track should we feel
like you are giving up on your learning.
If you would like to use GenAI appropriately as a learner, see
this short
introductory article. And if you are a TA, see
this
article by Jeff Olson on how to help teach students to use GenAI.
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.
|
|
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.
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 in person in my office, Doolan 220.
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, so it is important for me to have an email address
which you will check on a regular basis.
I am on slack, but I don't use it or check it very often so you are better off e-mailing me if you need
a quick turnaround. If you don't mind waiting a day or so, then slack can work.
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.