Skip to content

Programming by Design

If you're not prepared to be wrong, you'll never come up with anything original. – Sir Ken Robinson

  • About
  • Java-PbD
  • C-PbD
  • ASM-PbD
  • Algorithms
  • More!
    • Commodore 64
    • Operating Systems
    • Odds and Ends
    • Theory

CISS-150 Syllabus

Posted on June 7, 2018July 7, 2026 By William Jojo
Syllabus


CISS-150 – Operating Systems
Instructor: William Jojo
Email: w.jojo@hvcc.edu
Location: Off-Campus

(Updated July 7, 2026)

Catalog Description

This course will further develop the applied operating system, system administration and virtualization concepts introduced in CISS 100. Operating system theory and practice will be explored in both the Linux and Windows environments. Theoretical topics include: process management, communication and synchronization, memory management, device management, file systems, system administration and software management and security. Practical application will be applied to the most recent version of VMware VSphere with VCenter managing a HA/DRS cluster. This virtual environment allows simulation of multiple server and client environments in a heterogeneous networking environment. This environment will include, but is not limited to, basic network design including standard and distributed virtual switches, use of Network Address Translation (NAT), high-availability planning, load balancing using DRS, server software installation and management, account/username maintenance, authentication subsystems and integration, disk and file system maintenance, application installation and configuration, printing and the use of directories (e.g. LDAP and Active Directory)
Pre-requisite(s): CISS 100 Introduction to Computing and Information Sciences; (CISS 109 Python Programming or CISS 110 Programming and Logic I); ( CISS 111 Programming and Logic II – Data Structures or CISS 121 Networking II- Intro to Network Administration) with a grade of ā€œCā€ or better or by permission of Department Chairperson.
Terms Offered: Fall, Spring, Summer
Offered Distance Learning: Yes
Credits: 4
Contact Hours: Lecture: 4

Topical Outline (Student Behavioral Objectives):

  1. Examination of Linux and Windows operating systems
  2. Virtualization
  3. Explore functionality and interoperability of Linux and Windows operating systems
  4. Processes and Threads
  5. Scheduling
  6. CPU, Instructions and Assembly Language
  7. Memory Management
  8. Storage and Filesystems
  9. Security
  10. Networking
  11. Directories (AD/LDAP)
  12. User Management and Authentication
AssignmentTopicReadingsObjectives
Module 1Planning, VMware, Operating system structures, CPU, Memory, Project 1OSTEP 1-4, 12, 13
Additional readings as assigned.
1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12
Module 2Concurrency, Persistence and I/O, Project 2OSTEP 25, 26, 35, 36
Additional readings as assigned.
1, 2, 4, 5, 7, 8, 10
Module 3Address Translation, Segmentation and the Virtual Address Space, Project 3OSTEP 15, 16
Additional readings as assigned.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Module 4Intro to Assembly Language, System Calls, Project 4Assembly Language Docs, OSTEP 6
Additional readings as assigned.
1, 2, 3, 6, 7, 8, 9, 10
Module 5Paging, Swap Space, Project 5OSTEP 18, 21
Additional readings as assigned.
1, 2, 4, 7, 8
Module 6RAID, Files and Directories, Project 6, Project 7OSTEP 38, 45, 39, 40
Additional readings as assigned.
1, 2, 7, 8, 9
Module 7Security, Virtual Machines, Project 8OSTEP 52-54, 49, Appendix B
Additional readings as assigned.
1, 3, 8, 9, 11, 12
Module 8Project 9, Final ProjectAdditional readings as assigned.1, 2, 3, 9, 10, 11, 12

Measurable Outcomes

Measurement is based on ten laboratory projects, midterm and final exams, and formative quizzes.

  • Demonstrate proficiency in basic problem-solving techniques as applied to an operating system.
  • Demonstrate basic proficiency in a low-level programming language (MOS-6502, x86_64 assembly).
  • Demonstrate a basic understanding of standard CPU architecture.
  • Demonstrate basic networking principles.
  • Discuss the purpose of processes, their management, and basic scheduling.
  • Describe the general layout and purpose of the virtual address space.
  • Demonstrate understanding of memory management, paging, segmentation, and swap/paging space.
  • Demonstrate system security techniques including MFA.
  • Demonstrate understanding of basic storage and filesystems.
  • Demonstrate understanding of virtualization environments (VMware, VirtualBox, etc.).
  • Demonstrate ability to coordinate diverse operating system operations in a heterogeneous environment.

Assessments:

Assignments 90 points (~25%)
Journals 48 points (~14%)
Quizzes 93 points (~26%)
Discussion, Participation, and Attendance 42 points (~13%)
Final Project 75 Points (~22%)
Total 348 points (100%)
Important Note!
In the event of a remote-learning situation, your attendance requires the use of audio AND video so your instructor may hear and see you.

The primary and supplemental textbooks are free and online at

Operating Systems: Three easy pieces
by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau 
Arpaci-Dusseau Books
version 1.00
Operating Systems Textbook chapters link.

Assembly Language Programming by Design (Supplemental)
by Bill Jojo 

The Linux Command Line (Supplemental)
By William E. Shotts, Jr.

Resources
College Grading System
Learning Management System (LMS)
VMware vSphere Web Client
JDoodle
Webmail
Academic Calendar


Additional Information:

  • Learners will work in a VMware vCenter environment, managing multiple virtual machines provided by the instructor.
  • All projects are completed within virtual machines, and grading is based on the level of completion for each assigned project.
  • This is an online course; however, there will be in-person lectures where I will describe the relationships of projects to readings and such. These sessions are optional, and attendance is not mandatory. However, you will receive a survey of availability so that I can accommodate as many as would like to join the discussions. Your participation is encouraged so that you may ask questions about topics for deeper understanding.

Accommodations for Students with Disabilities

In compliance with the Americans with Disabilities Act of 1990 and with Section 504 of the Rehabilitation Act, Hudson Valley Community College is committed to ensuring educational access and accommodations for all its registered students, in order to fully participate in programs and course activities or to meet course requirements. Hudson Valley Community College’s students with documented disabilities and medical conditions are encouraged to access these services by registering with the Center for Access and Assistive Technology to discuss their particular needs for accommodations. For information or an appointment contact the Center for Access and Assistive Technology, located in room 130 of the Siek Campus Center, email us at caat@hvcc.edu, or call 518-629-7154/TDD: 518-629-7596. Another office that works closely with the Center for Access and Assistive Technologies to help students manage their mental health and wellness to achieve their academic and personal goals, is Counseling and Wellness Services. To schedule an appointment to talk with a counselor, visit of at CTR 260 in the Siek Campus Center, call 518-629-7320, or email us at counseling@hvcc.edu.

Post navigation

❮ Previous Post: DND Code
Next Post: CISS-150 Final Project – Heterogeneous Integration ❯

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright Ā© 2018 – 2026 Programming by Design.