
CST8102
Operating System Fundamentals (GNU/Linux)
Course Outline
2021-2022
- Pre-requisite(s)
- CST8101 and CST8116
- Co-requisite(s)
- N/A
- Prepared by
- Saif Terai
- Approved by
- Sandra Brancatelli, Chair, ICT - Applications & Programming
- Approval date
- Monday, June 7, 2021
- Normative hours
- 70.00
- Grading system
- A+ Through F
Applicable Program(s) | Level | Core/Elective |
---|---|---|
0006X01FWO - Computer Eng. Technology - Comp. Science | 2 | Core |
0006X03FWO - Computer Eng. Technology - Comp. Science | 2 | Core |
0336X01FWO - Computer Programming | 2 | Core |
0336X03FWO - Computer Programming | 2 | Core |
0336X07PAO - Computer Programming | 2 | Core |
0336X09FAO - Computer Programming | 2 | Core |
Course Description
Learn the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Explore the details of operating system structures, process management, storage management, installation, configuration, and administration both in theory and through practical assignments based on the GNU/Linux operating system. Lab exercises are designed to demonstrate how to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.
Vocational Learning Outcomes
This course provides the opportunity for you to achieve the following outcomes:
0006X01FWO - Computer Eng. Technology - Comp. Science
VLO 1 | Identify, analyze, design, develop, implement, verify and document the requirements for a computing environment. (T, A) |
---|---|
VLO 2 | Diagnose, troubleshoot, document and monitor technical problems using appropriate methodologies and tools. (T, A) |
VLO 3 | Analyze, design, implement and maintain secure computing environments. (T, A) |
VLO 6 | Select and apply strategies for personal and professional development to enhance work performance. (T, A) |
VLO 8 | Adhere to ethical, social media, legal, regulatory and economic requirements and/or principles in the development and management of the computing solutions and systems. (T, A) |
VLO 10 | Integrate multiple software and hardware components using appropriate systems, methodologies, and connection protocols. (T, A) |
VLO 11 | Analyze, plan, design, develop, test, and implement computing devices and networked systems (software or hardware) in accordance with appropriate functional requirements and standards. (T, A) |
VLO 16 | Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship. (T) |
0006X03FWO - Computer Eng. Technology - Comp. Science
VLO 1 | Identify, analyze, design, develop, implement, verify and document the requirements for a computing environment. (T, A) |
---|---|
VLO 2 | Diagnose, troubleshoot, document and monitor technical problems using appropriate methodologies and tools. (T, A) |
VLO 3 | Analyze, design, implement and maintain secure computing environments. (T, A) |
VLO 6 | Select and apply strategies for personal and professional development to enhance work performance. (T, A) |
VLO 8 | Adhere to ethical, social media, legal, regulatory and economic requirements and/or principles in the development and management of the computing solutions and systems. (T, A) |
VLO 10 | Integrate multiple software and hardware components using appropriate systems, methodologies, and connection protocols. (T, A) |
VLO 11 | Analyze, plan, design, develop, test, and implement computing devices and networked systems (software or hardware) in accordance with appropriate functional requirements and standards. (T, A) |
VLO 16 | Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship. (T) |
0336X01FWO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (T) |
---|---|
VLO 2 | Contribute to the diagnostics, troubleshooting, documenting and monitoring of technical problems using appropriate methodologies and tools. (T, A) |
VLO 3 | Implement and maintain secure computing environments. (T) |
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (T) |
VLO 10 | Contribute to the development, documentation, implementation, maintenance and testing of software systems by using industry standard software development methodologies based on defined specifications and existing technologies/frameworks. (T, A) |
VLO 11 | Apply one or more programming paradigms such as, object-oriented, structured or functional programming, and design principles, as well as documented requirements, to the software development process. (T, A) |
VLO 12 | Model, design, implement, and maintain basic data storage solutions (T) |
VLO 14 | Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship. (T) |
0336X03FWO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (T) |
---|---|
VLO 2 | Contribute to the diagnostics, troubleshooting, documenting and monitoring of technical problems using appropriate methodologies and tools. (T, A) |
VLO 3 | Implement and maintain secure computing environments. (T) |
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (T) |
VLO 10 | Contribute to the development, documentation, implementation, maintenance and testing of software systems by using industry standard software development methodologies based on defined specifications and existing technologies/frameworks. (T, A) |
VLO 11 | Apply one or more programming paradigms such as, object-oriented, structured or functional programming, and design principles, as well as documented requirements, to the software development process. (T, A) |
VLO 12 | Model, design, implement, and maintain basic data storage solutions (T) |
VLO 14 | Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship. (T) |
0336X07PAO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (T) |
---|---|
VLO 2 | Contribute to the diagnostics, troubleshooting, documenting and monitoring of technical problems using appropriate methodologies and tools. (T, A) |
VLO 3 | Implement and maintain secure computing environments. (T) |
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (T) |
VLO 10 | Contribute to the development, documentation, implementation, maintenance and testing of software systems by using industry standard software development methodologies based on defined specifications and existing technologies/frameworks. (T, A) |
VLO 11 | Apply one or more programming paradigms such as, object-oriented, structured or functional programming, and design principles, as well as documented requirements, to the software development process. (T, A) |
VLO 12 | Model, design, implement, and maintain basic data storage solutions (T) |
VLO 14 | Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship. (T) |
0336X09FAO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (T) |
---|---|
VLO 2 | Contribute to the diagnostics, troubleshooting, documenting and monitoring of technical problems using appropriate methodologies and tools. (T, A) |
VLO 3 | Implement and maintain secure computing environments. (T) |
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (T) |
VLO 10 | Contribute to the development, documentation, implementation, maintenance and testing of software systems by using industry standard software development methodologies based on defined specifications and existing technologies/frameworks. (T, A) |
VLO 11 | Apply one or more programming paradigms such as, object-oriented, structured or functional programming, and design principles, as well as documented requirements, to the software development process. (T, A) |
VLO 12 | Model, design, implement, and maintain basic data storage solutions (T) |
VLO 14 | Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship. (T) |
Essential Employability Skills
This course contributes to your program by helping you achieve the following Essential Employability Skills:
EES 4 | Apply a systematic approach to solve problems. (T) |
---|---|
EES 5 | Use a variety of thinking skills to anticipate and solve problems. (T) |
EES 6 | Locate, select, organize and document information using appropriate technology and information systems. (T) |
EES 7 | Analyze, evaluate and apply relevant information from a variety of sources. (T) |
Course Learning Outcomes / Elements of Performance
When you have earned credit for this course, you will have demonstrated the ability to:
1. Install operating systems and applications
- Install Linux operating system as virtual machine in VMWare. Add and remove applications in Linux
- Describe the component parts of the CPU
- Describe the various input/output devices
- Differentiate between primary and secondary storage devices
- Compare various types of secondary storage devices
- Differentiate between microcomputer, minicomputer and mainframe system
2. Using the knowledge of the purpose and function of operating system components, explore commands that provide and configure system information.
- Explain how an OS manages hardware resources including processors, memory, devices and storage. CPU scheduling, process synchronization, deadlocks, memory swapping, paging and segmentation
- Explain OS components such as the kernel and user interface
- Know the history of common operating systems such as Windows and Linux.
- Use system utilities.
- Compare single-user and multi-user operating systems
- Compare single-tasking and multi-tasking operating systems
- Create and manage file systems and disk partitions
3. Work with the GUI and command-line Interfaces.
- Use Linux desktop environment (GUI)
- Use the Linux command line to perform tasks such as: getting help, displaying the contents of files, using environment variables, console redirection and using pipes.
- Display and navigate directory structures in Linux.
- Create and remove directories in Linux..
- Copy, move, delete and view files in Linux.
- Locate, display and alter files and associated file metadata in Linux.
- Manage and monitor system processes in Linux.
- Create, delete and modify user accounts with Linux file permissions.
- Back up user data, applications, and personalized settings in Linux.
- Configure the Linux firewall to protect network connection from unwanted traffic.
- Perform basic system administration tasks in Linux.
4. Create and test shell scripts in Linux and Windows operating systems
- Use the vi editor and basic utilities to create, modify, sort, search and otherwise manipulate files in Linux.
- Create and execute basic shell scripts in Linux.
- Specify instructions to the shell to control and monitor execution of shell scripts in Linux.
- Use environment variables for pathnames to deploy an application in Linux and Windows.
- Use control and conditional structures and user interaction to write advanced shell scripts in Linux.
- Differentiate between local and environment variables, export and unexport a variable.
- Display environment variables and their values. Running a program in the modified environment.
5. Use Linux to reduce electricity consumption and new computer hardware for computational tasks
- Using Linux to extend the lifespan of older computer hardware.
- Configure a Linux installation to minimize power consumption.
Learning Resources
Software required:
1) As specified by the Course Professor, either
Ubuntu 20.04 LTS - Free download at http://releases.ubuntu.com/20.04/
or
CentOS 7 - Free download at CentOS.org
2) VMWare Workstation - Available through Digital Resources
Learning Activities
Lectures: In class lectures and online materials available through Brightspace will present the theoretical material of the course. Students are expected to attend all of the lectures. Students are strongly encouraged to ask questions during lectures and to consult with the professors on topics which they do not clearly understand. Professors will inform students, at the beginning of the course, of suitable times for consultations.
Labs: Students are expected to perform initial analysis and design before their scheduled lab, in order to take advantage of the limited lab time. Laboratory assignments will be closely integrated with the lecture and online materials. The students’ ability to successfully complete the assigned exercises will directly correlate with their level of success on tests and the final exam.
Assignments: Online assignments will test the student's knowledge and comprehension of lecture and reading material, as well as the ability to analyze and synthesize course material.
Pre-defined Evaluation / Earning Credit
The following list provides evidence of this course's learning achievements and the outcomes they validate:
Final Exam (30%)
Validates Outcomes: CLO 2, CLO 3, CLO 4, EES 4, EES 5
Lab Activity(ies) (30%)
Validates Outcomes: CLO 1, CLO 3, CLO 4, CLO 5, EES 4, EES 5, EES 6, EES 7
Midterm Exam(s) (30%)
Validates Outcomes: CLO 1, CLO 2, CLO 3, CLO 4, EES 4, EES 5
Quiz(zes)/Test(s) (10%)
Validates Outcomes: CLO 2, CLO 3, CLO 4, CLO 5, EES 4, EES 5, EES 6, EES 7
Prior Learning Assessment and Recognition
Students who wish to apply for Prior Learning Assessment and Recognition (PLAR) need to demonstrate competency at a post-secondary level in all outlined course learning outcomes. Evidence of learning achievement for PLAR candidates includes:
- Challenge Exam
- Project/Assignment
Other Information
Grade Scheme
Final Grade | Mark Equivalent | Numeric Value | Final Grade | Mark Equivalent | Numeric Value |
A+ | 90% - 100% | 4.0 | A | 85% - 89% | 3.8 |
A- | 80% - 84% | 3.6 | B+ | 77% - 79% | 3.3 |
B | 73% - 76% | 3.0 | B- | 70% - 72% | 2.7 |
C+ | 67% - 69% | 2.3 | C | 63% - 66% | 2.0 |
C- | 60% - 62% | 1.7 | D+ | 57% - 59% | 1.4 |
D | 53% - 56% | 1.2 | D- | 50% - 52% | 1.0 |
F | 0% - 49% | 0 | FSP | 0 | 0 |
Course Related Information
Please refer to the Course Section Information (CSI) / weekly schedule for specific course-related information as provided by your professor.
Program Information
0336X01FWO - Computer Programming
Program Progression Policies
It is very important to everyone at Algonquin College that students are registered in the programs that best fit their skills, abilities and interests to enable the realization of their goals. As such, the following progression policies are in place in the Computer Programming program to help ensure this:
- Through careful analysis of student grades over several years, the following courses have been identified as key indicators that students will successfully graduate from the program: CST8116 Introduction to Computer Programming, MAT8001C Technical Math for Computer Science and CST8284 Object Oriented Programming (Java). Students who fail these courses will be issued a Learning Contract and given one more opportunity to register for and pass the course. Students who fail any other course in the program will be given two more opportunities to register for and pass the course.
- Level 1 students who fail any two of the following courses will be required to re-apply to the program through OCAS if they wish to continue: CST8116 Introduction to Computer Programming, MAT8001C Technical Math for Computer Science, CST8118 Computer Essentials and CST8215 Introduction to Database.
0336X03FWO - Computer Programming
Program Progression Policies
It is very important to everyone at Algonquin College that students are registered in the programs that best fit their skills, abilities and interests to enable the realization of their goals. As such, the following progression policies are in place in the Computer Programming program to help ensure this:
- Through careful analysis of student grades over several years, the following courses have been identified as key indicators that students will successfully graduate from the program: CST8116 Introduction to Computer Programming, MAT8001C Technical Math for Computer Science and CST8284 Object Oriented Programming (Java). Students who fail these courses will be issued a Learning Contract and given one more opportunity to register for and pass the course. Students who fail any other course in the program will be given two more opportunities to register for and pass the course.
- Level 1 students who fail any two of the following courses will be required to re-apply to the program through OCAS if they wish to continue: CST8116 Introduction to Computer Programming, MAT8001C Technical Math for Computer Science, CST8118 Computer Essentials and CST8215 Introduction to Database.
Department Information
STUDENT ACADEMIC RESPONSIBILITIES
Each student is responsible for:
• Knowing the due dates for marked out-of-class assignments.
• Attending all classes and knowing the dates of in-class marked assignments and exercises.
• Maintaining a folder of all work done in the course during the semester for validation claims in cases of disagreement with faculty.
• Keeping both paper and electronic copies of all assignments, marked and unmarked, in case papers are lost or go missing.
• Regularly checking both Brightspace announcements as well as one's Algonquin e-mail account for important messages from both professors and college administration.
• Participating in on-line and classroom exercises and activities as required.
• Retaining course outlines for possible future use to support applications for transfer of credit to other educational institutions.
Department Grading Policy - For all courses that have both a theory and practical (lab) component, students must have a grade of at least 50% (or “D-”) on both the theory component as well as in the practical (i.e. lab) component in order to achieve a passing grade in the course. i.e. Even if your combined grade exceeds 50% for the entire course, if you fail either the theory component or the practical component, you will not achieve a passing grade in the course.
Harassment/Discrimination/Violence will not be tolerated. Any form of harassment (sexual, racial, gender or disability-related), discrimination (direct or indirect), or violence, whether involving a professor and a student or amongst students, will not be tolerated on the college premises. Action taken will start with a formal warning and proceed to the full disciplinary actions as outlined in Algonquin College Policies - HR22 and SA07.
Harassment means one or a series of vexatious comment(s) (whether done verbally or through electronic means), or conduct related to one or more of the prohibited grounds that is known or ought reasonably to be known to be unwelcome/unwanted, offensive, intimidating, derogatory or hostile. This may include, but is not limited to: gestures, remarks, jokes, taunting, innuendo, display of offensive materials, offensive graffiti, threats, verbal or physical assault, stalking, slurs, shunning or exclusion related to the prohibited grounds.
For further information, a copy of the official policy statement can be obtained from the Student Association.
Violation of the Copyright Act
General – The Copyright Act makes it an offence to reproduce or distribute, in whatever format, any part of a publication without the prior written permission of the publisher. For complete details, see the Government of Canada website at http://laws.justice.gc.ca/en/C-42 . Make sure you give it due consideration, before deciding not to purchase a textbook or material required for your course.
Software Piracy - The Copyright Act has been updated to include software products. Be sure to carefully read the licensing agreement of any product you purchase or download, and understand the terms and conditions covering its use, installation and distribution (where applicable). Any infringement of licensing agreement makes you liable under the law.
Disruptive Behaviour is any conduct, or threatened conduct, that is disruptive to the learning process or that interferes with the well being of other members of the College community. It will not be tolerated. Members of the College community, both students and staff, have the right to learn and work in a secure and productive environment. The College will make every effort to protect that right. Incidents of disruptive behaviour must be reported in writing to the departmental Chair as quickly as possible. The Chair will hold a hearing to review available information and determine any sanctions that will be imposed. Disciplinary hearings can result in penalties ranging from a written warning to expulsion.
For further details, consult the Algonquin College Policies AA32, SA07 and IT01 in your Instaguide.
College Related Information
Students are especially encouraged to be aware of the following College expectations
Academic Integrity
Algonquin College is committed to the highest standards of academic integrity, and students are expected to uphold these standards as part of the learning process. Any academic work submitted by a student is expected to be their own work, unless designated otherwise and all sources must be attributed. All students should be familiar with the Algonquin College policy AA48: Academic Integrity . In some courses, online proctoring may be used to discourage cheating. Additional information can be found at https://www.algonquincollege.com/studentsupportservices/student-learning-kit/preparing-to-learn-online/. Students with any questions about the course expectations for academic dishonesty and plagiarism are encouraged to speak to their professor.
Centre for Accessible Learning
Students with visible and/or non-visible disabilities are encouraged to register with the Centre for Accessible Learning (CAL) in order to be eligible for appropriate learning supports and/or accommodations. Students are strongly encouraged to make an appointment at the Centre for Accessible Learning as early as possible when starting a program. Once your needs are identified, a Letter of Accommodation (LOA) will be issued which you can share with your professors. If you are a returning student, please ensure that professors are given a copy of your LOA each semester.
College Email
Students at Algonquin College are provided with a college email account. This is the address that will be used when the College, your professors, or your fellow students communicate important information about your program or course activities. Your network credentials can be found in the ACSIS portal and you are expected to check your Algonquin email regularly and to use it to send and receive college-related email. Support is available through the college Information Technology Service (ITS) at: https://www.algonquincollege.com/its/
Retroactive Accommodations
Students are expected to meet evaluation and completion deadlines as stated in course outline and course section information documents. In circumstances where evaluation and/or completion deadlines are missed or student performance has been affected by a temporary or permanent disability (including mental health), interim or retroactive accommodations may be considered. In such instances, please consult your course faculty member. For other situations where deferral of evaluations may be warranted, please consult Algonquin College Policy AA21: Deferred Evaluation.
Student Course Feedback
Algonquin College’s invites students to share their course experience by completing a student course feedback survey for each course they take. For further details consult Algonquin College Policy AA25: Student Course Feedback.
Use of Mobile Devices in Class
With the proliferation of small, personal mobile devices used for communications and data storage, Algonquin College believes there is a need to address their use during classes and examinations. During classes, the use of such devices can be disruptive and disrespectful to others. During examinations, the use of such devices may facilitate cheating. For further details consult Algonquin College Policy AA32: Use of Mobile Devices in Class
Technology Requirements
As Algonquin College continues to respond to public health guidelines, many courses will be offered through remote delivery. As such, students will be required to have access to a computer and to the internet. There may also be additional technology-related resources required to participate in a course that are not included in the course materials fee, such as headphones, webcams, specialized software, etc. Details on these requirements can be found in the Course Section Information of the course outline for each course available on Brightspace.
Transfer of Credit
It is the student’s responsibility to retain course outlines for possible future use to support applications for transfer of credit to other educational institutions.