You are here: Home / ECPE 170 / Syllabus


ECPE 170 - Computer Systems and Networks - Spring 2022



Dr. Mohammadreza Mehrabian (Section 1: Tue/Thur, 8-9:45 am, Section 2: Tue/Thur, 10-11:45 am)

Email: mmehrabian at pacific dot edu


ZOOM Office Hours:

TUESDAY 12:30-2:30 PM, WEDNESDAY 10:30 AM-12:30 PM; and by e-mail appointment.

Teaching Assistants

Mr. Jerry 'Jc' Cearley


Quick Question?

Ask on the slack channel


Course Basics

 Course ABET Outcomes

The ABET course outcomes for this course are:

  • k  - An Ability to Use the Techniques, Skills, and Modern Engineering Tools Necessary for Engineering Practice
  • b - An Ability to Design and Conduct Experiments, as Well as to Analyze and Interpret Data


Course Description

This course is a comprehensive and holistic examination of the modern computing environment. Students gain an understanding of the various hardware and software components that enable computers and networks to process information and execute applications. Students learn to apply this knowledge in the development of efficient and robust software applications.

The vision for this course is: What do I, as an application programmer, need to understand about the underlying computer (including the operating system and hardware components) in order to write efficient, high-performing programs?

Learning Objectives

After completing this course, you should be able to:

  • Install and use a virtual machine manager to run a hosted operating system on a computer
  • Install and use a modern Linux distribution for a variety of common programming tasks
  • Explain what assemblers, linkers and compilers do, and how they work together to generate and execute libraries and programs
  • Create a Makefile from scratch and use it to compile a program
  • Use a distributed version control system to manage your workflow both as an individual programmer, and as a member of a team
  • Write programs in the C programming language
  • Characterize the behavior of a program in terms of CPU and memory usage
  • Optimize program performance through automated tools
  • Optimize program performance through source code modifications
  • Optimize program performance through an understanding of the underlying hardware mechanisms, such as the computer memory hierarchy
  • Use both big and little endian data representations and convert between them
  • Describe the basic components of a central processing unit, and its instruction execution cycle
  • Describe the components of the memory hierarchy, how these various components are utilized, and how data is moved between them
  • Write programs in assembly language for the MIPS processor
  • Explain the primary services provided by an operating system
  • Write client/server Python programs that communicate through standard TCP/IP sockets
  • Explain the protocols and models that underlie computer networks
  • Describe the physical components and communication paths of modern computer networks


Assessment of these topics will be conducted through labs (which include in-class exercises and homework/programming projects), in-class group activities, and exams.

Please note that copies of student work may be retained by the instructor to assess how the learning objectives of the course are met.


Attendance Policy

Regular class attendance is strongly encouraged.  The course website and Canvas site will be used to assist in instruction. You are responsible for keeping up with lab/homework assignments, lecture notes, announcements, and other materials that may be posted on the course website or sent via email (at your email address posted in Canvas).



Grades for the course are assigned on the scale below:


> 93


< 90-­87

< 87-­83

< 83-­80

< 80-­77

< 77-­73

< 73-­70

< 70-­67

< 67-­60

< 60













Your course grade is based on the following items:

In-class Participation: 5% -- During class-time, students will solve instructional problems that assist the learning process. The student response will be collected, graded, and returned in the next class period.

Video Presentations: 25% - There will be two recorded video presentations throughout the semester. In each assignment, you will perform a sequence of technical activities or solve a technical problem.  Then, you will record and submit a video where you explain in detail the sequence of steps you took and why you took each step.

Labs: 70% - There will be twelve lab exercises spread throughout the semester. The purpose of labs is for you to gain hands-on experience with common computer skills and solve problems.  A few labs contain pre-lab assignments, which are to be completed as homework before the lab start date. All labs contain in-class tutorials and work sessions. Any lab content not completed in the allocated class time must be completed as homework before a set due date. Make-up labs will be given only for excused absences.

Late Assignments

The only acceptable excuses for missing an assignment due date are serious illness, death in the immediate family or important professional activities. Illness or death in the family may require documentation. Excuses for professional activities must be approved by the instructor in advance.

You will have plenty of time to do assignments, but only if you start when they are assigned.  Late assignments will be accepted with a 2% deduction in points for every day late, up to 7 days past the deadline (for a total deduction of 14%).  Assignments will not be accepted after this 7-day late period without written permission from the instructor *prior* to the start of the late period. Please ensure that your assignment is in the repository for grading. Assignments that are not in the repository WILL NOT be graded.


Honor Code 

The Honor Code at the University of the Pacific calls upon each student to exhibit a high degree of maturity, responsibility, and personal integrity. Students are expected to:

  • Act honestly in all matters
  • Actively encourage academic integrity
  • Discourage any form of cheating or dishonesty by others
  • Inform the instructor and appropriate university administrator if she or he has a reasonable and good faith belief and substantial evidence that a violation of the Academic Honesty Policy has occurred.

Violations will be referred to and investigated by the Office of Student Conduct and Community Standards. If a student is found responsible, it will be documented as part of her or his permanent academic record. A student may receive a range of penalties, including failure of an assignment, failure of the course, suspension, or dismissal from the University. The Academic Honesty Policy is located in Tiger Lore and online at


ECPE 170-specific Honor Code Policy

Engineering is generally a cooperative endeavor and collaborative learning can be a valuable experience for all involved. However, proper assessment (i.e., grading) requires that work be done by individuals. To balance these two requirements, the following policy will apply:

  • Collaborative work on lab assignments is encouraged. This includes working together on planning solution strategies and helping each other to debug programs.
  • Collaboration must stop short of someone else writing your assignment. You may not directly copy the work of another student. You also may not copy the work of another student, and then modify it so that it does not look the same as the original author's work. It is your responsibility to ensure that the work you submit is an honest representation of your own understanding of the material.

Marginal cases will be resolved by oral examination of the student(s) involved. If they each understand the material in the assignment, it will be considered honest collaboration. If they do not, then it will be considered academic dishonesty.

In many cases, it may be possible to identify reusable source code from textbooks, web sites or other resources that can help you with assignments.  You are permitted to use such references provided that:

  • The amount of code reused does not exceed 25% of the total assignment length, and
  • In the source code and accompanying lab report (if applicable), you clearly identify any code that you did not write, state where it came from, and to what extent you modified it.

You are responsible for understanding the theory behind all algorithms or source code used, regardless of their source.


COVID-19 Pandemic: 

This course is being offer in the midst of the COVID-19 pandemic. To keep us all healthy and safe, some additional rules are necessary.

  • Masks are required for everyone when in the classroom.
    • It is your responsibility to have a mask when you arrive for class.
  • Eating and drinking are prohibited in the classroom.
    • If you must have something to eat or drink during class, request permission to be excused and go outside to do it.
  • Respect each other and respect personal space.
    • Work together to ensure that this classroom is comfortable and safe.
    • While there are no social distancing rules in effect, please allow distance when possible. Be aware of others’ needs for personal space and adjust appropriately. 
  • If you become ill or you are required to quarantine or isolate, stay home, and do not come to class.
    • You should inform the Dean of Students of your status. Her office will inform your instructors that you will need to be away from class. Contact her office at or 209.946.2365.
    • Contact the instructor by email and we can determine how you can continue to participate in the course.

You are also responsible for conducting yourselves according to university rules and policies related to the pandemic. Here are some links for review:

If there are significant changes in pandemic conditions, it may be necessary to change some of the policies or structure of this course. If this becomes necessary, a revised syllabus will be distributed through the course Canvas site. Check the Canvas site regularly for announcements.

If you observe any behavior or conditions that violate pandemic protocols or seem unsafe with regards to the pandemic, please report it to the Associate Dean at The Dean’s office will take appropriate actions to correct the situation. 



 Accommodations for Students with Disabilities

If you are a student with a disability who requires accommodations, please visit (Links to an external site.) to contact the Office of Services for Students with Disabilities (SSD) for information on how to request accommodations while at Pacific.

The Office of Services for Students with Disabilities is located in the McCaffrey Center, Second Floor. Phone: 209-946-3221. Email: Online (Links to an external site.)