0858-606, Summer 2022

Description: From a foundation of computer networks and systems, this course expands to cover instructional technology infrastructure: file systems, users, wired and wireless networks, email, web servers, computer labs, and common educational software services. This course focuses on Free Software; where the source code is free to use, study, or modify. To explore these topics in this hands on class all students will be configuring their own Raspberry Pi computers and using them to complete a software/hardware project.

Keywords: linux, bash, systems, networks, lamp, free software, trouble shooting, technical project management, rasberry pi, physical computing, debian, ubuntu

computer chip

Goals & Objectives

This course introduces students to the key concepts in current networked computing in order to develop a conceptual framework for configuring and troubleshooting computing systems. Upon completing this course they will be able to:

  • set up a secure, network computing environment
  • effectively use the basic tools of GNU/Linux computing environments
  • implement techniques for administering group and user permissions
  • install and troubleshoot hardware and software infrastructure for networked and internet computing
  • configure a client/user computer for specific purposes
  • configure various server-side applications to support teaching and learning
  • identify the ethical and legal concerns surrounding educational information systems

Class Information

  • Instructor: Matt Curinga
  • Class dates: May 26 - July 1
  • Live sessions: Wednesdays: 4:30pm - 6:20pm; zoom link on moodle

Course Communications

This online course will have a mix of synchronous and asynchronous assignments. The synchronous sessions, “live lab,” will be held each Wednesday, via Zoom, 4:30pm to 6:20pm.

Participants in this course must actively participate in our suite of online communications tools, including Slack (https://auedtech.slack.com), Adelphi email, and the course website.

You must check your Adelphi email and the #code channel on Slack at least once a day during this short summer course. It is highly recommended that you install the Slack mobile client and an email client on your mobile phone so that you receive “push notifications” of course announcements.

The best place to post general course questions and any content-related questions is the #code Slack channel. The instructor, as well as other students and alums, monitor this channel and often provide immediate support. You are encouraged to contact the instructors at any time via email or direct message on Slack.

Online tools:

  • Moodle: will be used to post the syllabus and links to weekly readings, videos, and discussions.
  • Zoom: for class meetings and help (via screen sharing), please join Zoom from your laptop so that you can share your screen to demo work and troubleshoot problems. You have should have a calendar invite to our meetings with the link. The link is also on Moodle in the course header.
  • Slack: will be our main channel for online communications. Please Join our Slack team with your Adelphi email. If you run into trouble or have a question, post it here to our channel, #code, or send a message to @mxc. During the weeks of the class, we recommend running the Slack app for you phone.
  • Trello: is project management software that you will use to track/plan your two projects, and to share your progress with the course instructors. Create a Trello Account before the first week of class, and (optionally) install the mobile app.
  • mail.adelphi.edu email: we will use your official adelphi student email for class email communications. Please check this email regularly.

You should already be comfortable with these skills, or should be prepared to learn them during the course. Teaching them is not part of the course content.

Getting remote help:

Because of the hands on nature of working with computers and networks, you will have to use a variety of tools to get help. Your first stop for help should be #code on Slack. You are most likely to get quick help if you post here because anyone in the channel (instructors, other students, other faculty, ed tech alums) can lend a hand.

For more complicated problems, you will need to be able to:

  • post formatted code in slack
  • take a screenshot from your computer (unless absolutely necessary, don’t send photos of your screen taken with your phone)

Required Materials

Textbooks

There are no required

Desktop/Laptop

You must have access to a desktop or laptop computer running Linux, Windows, or MacOS to participate in this course. Further, you must have an administrative account where you can fully configure the computer and install software. “Work” computers where you are not an admin are not sufficient. If your hard drive doesn’t have at least 10GB of free space, you should start clearing space or purchase an external drive.

You will use this computer to participate in the course online and to complete the course projects and activities. You can use a phone or tablet for some online elements of the course, however you will not be able to complete course assignments without access to a computer where you are able to install software.

Software

  • VirtualBox. Windows and Intel Mac users will install VirtualBox. VirtualBox is Free Open Source Software that you can install for no cost. Please make sure that you have a computer that meets its minimum requirements.
  • Parallels. M1 Mac users will have to purchase Parallels student edition for $40. If you have a Windows laptop or an Intel-based Mac, you do not need Parallels.

Schedule

Week Date Topic
1 Wed, Jun 1 Computers & Operating Systems
2 Wed, Jun 8 The Command Line
3 Wed, Jun 15 Users, Groups, Files, & Permissions
4 Wed, Jun 22 Networks
5 Wed, Jun 29 Ethics

Grades & Assignments

Assignment Pct Due
Participation 20% ongoing
Quiz Design 20% ongoing
Web Software Project 30% 6/18
Final Group Project 30% 7/1

Participation

Because this is a short summer course (3 credits in 6 weeks), you should budget 10-15 hours each week for course work. Wednesday live lab sessions are required, but you will also spend significant time working through course materials at your own pace.

Your participation grade will consider preparation for live labs, timely management of your Trello projects, completion of the comprehension quizzes, and participation in Slack and Moodle discussions. Smaller (ungraded) weekly assignments will also be considered for your participation grade. You may earn bonus participation points if you go “above and beyond” in a week, especially by providing help or making full use of our classroom tools to ask good questions and share work.

Quiz Design

Working in a team of 3, you will be responsible for designing a 15 question quiz (via Google Forms) to check the basic understanding of the videos and readings for the week. The quizzes should consist of multiple choice (one answer or multiple “all that apply”) questions that can be automatically scored. You must provide a detailed answer key for every question. The questions should not be overly challenging, but should be based on the readings (not general knowledge). Anyone who carefully completes the readings should be able to score 13/15 points or better.

Quizzes are ungraded for the students taking them. Your team will receive a group grade for the quiz considering:

  • coverage: did the quiz cover all of the big ideas in the readings?
  • depth: are the questions challenging without being tricks or requiring detailed synthesis of the materials? do they avoid being to specific or two general?
  • explanations: do the answer keys for each questions appropariately explain the correct and incorrect answers?

See the docs page for making quizzes with Google Forms.

Your quiz will be due by end of day on Tuesday and posted to the Moodle “Weekly Quiz” discussion as a new topic for your week. Please, also, leave comments and feedback for the quiz authors – but not until after the quiz is closed. Everyone must attempt the quiz before the start of class at 4:30 on Wed.

Web Software Project

For the first project, you will install the Ubuntu OS as a guest operating system on your computer. You will use Ubuntu to configure a server running one of the following popular web-based software systems:

  1. WordPress
  2. Moodle
  3. Ghost

Once you have the software installed, you will customize it for a specific use (that you decide). For example, you might configure WordPress as a classroom website, Moodle to support a summer course, or Ghost to host a personal newsletter or blog.

Submission Guidelines

To submit this project, you will upload a narrated screencast video of your project to VoiceThread (you can sign in with your Adelphi email account). If you do not want the video to be public, change the permissions so that it is an “unlisted” video. Only people with the link will be able to see it. Create a new thread in the discussion forum with a title for your project. Post the link to your video here, along with any supporting documentation (screenshots, code, config files).

Begin the video with a description of who the target users are of this software and what your goals are for them. Next, show your project from the user’s perspective, showing how it meets the needs of the use cases that guided you in designing the project. Next, you can, if appropriate, give a brief tour of the configuration files and scripts that make your project possible. Your video should be 5-6 minutes long.

Please take time to watch your classmate’s videos and post comments, questions, and suggestions.

This is an individual project.

Final Group Project

One of the key technical tasks of an educational technologist or instructional designer is to research and evaluate possible solutions to a problem and then implement a plan to test a possible solution. Real world problems often require the combination of several systems in a new way, suffer from incomplete or inaccurate documentation, and are hindered by time or resources/financial constraints.

With this in mind, you will choose a software project that you find interesting and engaging to pursue for your final project. You will be responsible for gathering/purchasing the materials to complete the project.

You will be evaluated on:

  • skill with the linux operating system
  • ability to customize your solution to meet the project’s goals
  • creativity of the project chosen
  • risk/scope of the project
  • reflection on the process

This is a group project with either 2 or three people per team. You and your team will work on the same project. You will share a Trello and set goals together. It will be up to you to decide who work is divided and the most effective way to collaborate and share resources.

Here are a few raspberry project ideas that will give you a sense of the size and scope of what you can do for your final project.

  1. MyCroft Open Source personal assistant
    https://mycroft.ai
    MyCroft is a Free Software alternative to systems such as Alexa and Google Assistant. MyCroft is developed for Linux. It requires some attention to details to get all of the media components working properly. For this project, you will download and configure MyCroft for your VM; create and connect to your online account, configure and test the microphone and audio output, and customize the features and functionality of your RPI assistant. Start at the mycroft site for all of the information you need to get started.
  2. Jupyter Hub collaborative programming site
    https://jupyter.org/hub
    Jupyter Hub is a collaborative version of the Jupyter Notebook software development environment. Set up a Jupyter Hub installation on your VM and configure it for use in a programming, math, or other learning environment that requires a shared coding environment.
  3. Ghost/Moodle/WordPress
    While you had to set up a basic version of these systems for the first project, they are complex softare systems with many templates, plug-ins, and customizations. Your team may choose to work on one of these to create a more complete website.
  4. Mattermost chat server
    https://mattermost.org
    Mattermost is a FOSS chat sever (similar to Slack) that you can host on your own sever for privacy and customizability.
  5. MagicMirror digital kiosk
    https://magicmirror.builders/
    The magic mirror or smart mirror runs a customizable web server that serves as a digital kiosk (and, if desired, a magic mirror – a mirrored LCD monitor). Install the base
  6. Slack chatbot
    Using the Slack API, set up a server (e.g. Node or Python) and create an “app” that interacts, automatically, with Slack chat.
  7. Jekyll website
    https://jekyllrb.com/
    Create a simple, static website using the Jekyll system and markdown syntax. Host it live on your own Github Pages site.

These are only a few suggestions. If you have something that you want to build, but aren’t sure the best way to accomplish it, please post your idea in Slack and we can investigate solutions as a team.

Submission Guidelines

To submit this project, you will upload a narrated screencast video of your project to VoiceThread. Begin the video with a description of who the target users are of this setup and what your goals are for them. Next, show your project from the user’s perspective, showing how it meets the needs of the use cases that guided you in designing the project. Next, you can, if appropriate, give a brief tour of the configuration files and scripts that make your project possible. Your video should be 8-10 minutes long. Submit one video per team.

Class Sessions

Week 1: Computers & Operating Systems

This week we will learn about core computer hardware, and the key software (Operating Systems) that drive computers. We’ll also learn about the specific hardware of our RPIs and install an operating system so we can take them out for a test drive. By the end of the week you should have either VirtualBox or Parellels installed on your computer and have created and installed a Virtual Machine (VM) running the Ubuntu operating system.

Guiding Questions:

  1. How does a modern computer work?### To Do:
  2. What makes a computer a computer?
  3. How is a computer an abstraction of many parts and processes?

Watch & Read:

  1. Watch the Week 1 Introduction Voice Thread (see Moodle)
  2. Computer Hardware (Computer parts Explained) [7:48]
  3. What is an OS? (Crash Course Computer Science) [13:35]
  4. Virtualization As Fast As Possible (Techquickie) [4:44] (the last 2 minutes are ads, skip it)
  5. Klint Finley. (April 24, 2019) The WIRED Guide to Open Source Software. WIRED.

To Do:

Complete all the videos/readings before the first live session on Wednesday.

  1. Join Slack and install the desktop and mobile apps (slack support)
  2. Create an account on Trello and install the mobile app (Trello Support)
  3. Install VirtualBox or Parallels
  4. Create a new virtual machine (VM) and install Ubuntu Desktop as the “guest” operating system.
  5. Get to know your new Ubuntu computer by installing software from the Software Shop and using it for some of your every day computing tasks.
  6. Read the syllabus and post any questions on Slack
  7. Take the “Computer and Operating Systems Quiz” – link on Moodle

Live Lab Agenda

  1. Welcome & Introductions
  2. Discussion of videos/readings
  3. Breakout Rooms
    1. Room A: Troubleshooting the VM install
    2. Room B: Configuring and using Ubuntu
  4. Getting ready for next week: terminal basics

Week 2: The Command Line

This week we will learn how to interact with our computer using the command line (aka terminal). The command line interface (CLI) offers an alternative to the graphical user interface (GUI) we are more familiar with. Wile the terminal hearkens back to the early days of computing, its still very much alive for systems administrators, software developers, and others. In particular, complex tasks can be accomplished with a few lines of text, remote computers can be easily accessed, and all manner of tasks can be automated (and scheduled). Specifically, after gaining fluency with the command line, you will be able to connect to a remote Linux server from your regular laptop or desktop computer in order to configure and control it. To get started on the command line we’ll check out Terminus, a game developed at MIT to introduce the players to the command line.

In addition to jumping into the command line, by the end of the week you will have customized your VM by installing software packages through apt and the GUI. You will also choose your topic for the first project and set up a Trello with a Board for your project and milestones for each week until it’s due.

Guiding Questions:

  1. How is a command line interface different from the more familiar graphical user interface?
  2. What is gained from a CLI? What is lost?

Watch, Play, & Read:

  1. Read What is Free Software?
  2. Watch Keyboards & Command Line Interfaces: Crash Course Computer Science #22[11:23]
  3. Play Terminus for at least an hour. Post on Slack how far you get.
  4. Read/review Ubuntu Command Line For Beginners

To Do:

  1. Update the software on your VM with apt (hint sudo apt update then sudo apt dist-upgrade)
  2. Install at least 2 programs on your RPI using apt or the Software center.
  3. Post in the FOSS Apps Discussion which apps you installed and a brief review of them.
  4. Create a Trello Board for your project and invite the course instructor as collaborator.
  5. Complete the “Command Line” quiz

Live Lab Agenda

  1. Welcome, questions
  2. Command line Quizlet
  3. Breakout rooms: A. WordPress working group B. Moodle working group C. Ghost working group
  4. Project ideas and Trello Updates

Week 3: Users, Groups, Files, & Permissions

As you’re working on finishing up your first project, we’ll take a deeper look at how files, permissions and security works in linux/unix operating systems. To better understand how to work with files, we’ll take a look at file archives (multiple files and directories combined in a single file) and compression (reducing the size of a file). Because your programs all run as a “user” (either root or their own user), it’s important to understand files and permissions to troubleshoot problems.

Guiding Questions:

  1. How do you secure digital resources?
  2. Is the unix approach of users and groups sufficient for all security needs?

Watch & Read:

  1. Watch Files & File Systems: Crash Course Computer Science #20 [12:02]
  2. Watch Compression: Crash Course Computer Science #21 [12:47]
  3. Read Understanding Basic File Permissions and ownership in Linux
  4. Watch Linux Terminal 201: How To Use tar, gzip, bzip2, and zip - HakTip 156 [11:32]
  5. Docs Ubuntu user security
  6. Docs How To Extract Zip, Gz, Tar, Bz2, 7z, Xz and Rar File in Linux

To Do:

  1. Finish the first project
  2. Complete the “Users & Groups” quiz

Live Lab Agenda

project working session

Week 4: Networks

How does the internet work? What happens after you hit enter on a search term on Duck Duck Go? How does Spotify get music to your phone then to your wireless earbuds? A deeper understanding of different networking hardware, software, and protocols will help us better understand the networked software we’re installing, configuring, and troubleshooting.

Guiding Questions:

  1. How does the internet work as a collection of networks?
  2. How does a multi-layered model allow for abstraction between different layers?

Watch:

  1. How the Internet Works in 5 Minutes [4:48]
  2. The Internet: IP Addresses & DNS [6:44]
  3. The Internet: Wires, Cables & Wifi [6:41]
  4. The Internet: Packets, Routing & Reliability [6:25]

To Do:

  1. Post (with a partner) a written report on one of the network topics (see full instructions below).
  2. Choose a topic and form a team for the final project. Create a Trello board for it and share it with your partners and the instructor.
  3. Complete the “Networks & Internet” quiz.

Networking Topic Report Instructions

For a more in-depth look at networking, you will work with a partner to write a mini report on a related topic. Please: a) choose a partner, and b) choose a topic from the list below. If you have an idea for a different topic, you may write about that with approval from the instructors. By the end of the week, please post your report directly into our Networking Topics forum. Your report should be roughly 500-800 words. It should give an overview of the topic, summary of how it works, and discussion of how it’s used and why it is (or isn’t) important. Read through the other posts, and ask any follow-up questions. The instructor and topic authors will do their best to answer your questions.

Possible topics:

  1. Bluetooth
  2. Mesh network
  3. Near Field Communication (NFC)
  4. HTTPS/SSL
  5. 4g/5g/6g
  6. BitTorrent
  7. Dark Web
  8. Radio-frequency identification (RFID)
  9. Bluetooth Beacons
  10. Web3

Week 5: Ethics

As Spider-Man learned, with great power comes great responsibility. We trust the people who run our networks to keep our information safe, and to not violate our trust while they do it. Along the way, they may face some hard choices, usually weighing the benefits of individuals versus the group. We’ll take a look at some of the ethical concerns in “big tech”, and also investigate how these same concerns appear in the context of schools and other educational institutions.

Guiding Questions:

  1. How do school systems balance student privacy and autonomy, with safety and learning efficiency?
  2. What are the key ethical concerns of embedding corporate interests (and technology) into public spaces like schools?

Read:

  1. Monitoring Student Social Media
  1. Student Data

To Do:

  1. Complete ethics readings and come to class prepared to discuss and debate.
  2. Update your Trello project with the work you’ve completed this week. Identify any issues and get help as needed.
  3. Complete the “Privacy & Ethics” quiz.

Week 6: Final Project Due

There is no class meeting, finish up your project and turn it in. Have a great summer!

University Policies and Resources

Student Access Office and Disability Accommodation

If you have a disability that may significantly impact your ability to carry out assigned coursework, please contact the Student Access Office (SAO) at 516-877-3806 or send an email to sao@adelphi.edu. The staff will review your concerns and determine, with you, appropriate and necessary accommodations.

Please note that reasonable accommodations are also available for courses conducted through an online learning format. Due to the nature of online courses, some accommodations approved for in-person classes may not apply. Please allow for a reasonable time frame for requesting ASL Interpreters or Transcription Services.

Student Counseling Center (SCC)

The Student Counseling Center (SCC) provides confidential and professional virtual mental health counseling services, resources, and referrals to support the academic and personal success, health, and well-being of Adelphi students without additional charge. Especially with the additional stress resulting from the Covid-19 pandemic, students are encouraged to seek support from the SCC when needed. Counselors are available to help students cope with a variety of stressors and personal issues that may interfere with their academic and personal experiences. The Center also supports students who may be feeling suicidal or in crisis. To schedule an appointment, please call (516) 877-3646, email scc@adelphi.edu. If you need immediate assistance, walk-in services are available during the fall and spring semesters Monday-Friday 9am-5:00pm. Additional information can also be found by visiting https://scc.adelphi.edu.

Need support when the SCC is not available? For 24/7 emergency counseling, referral, or assistance, please contact:
Long Island Crisis Center (516) 679-1111
National Suicide Prevention Lifeline (800) 273-TALK (8255)
Crisis Text Line: Text PAWS to 741741
Adelphi Office of Public Safety:
Off campus: (516) 877-3511
On campus: Extension 5 on any campus phone
911 (for immediate health-related emergency)

The Center for Academic Support and Enrichment (CASE; formerly The Learning and Writing Centers)

CASE programs and services--like individual tutoring in writing and subjects across the curriculum, small group study sessions, academic coaching, and targeted workshops--help students explore, deepen, and extend their classroom learning. Support programming focuses on establishing foundational skills and techniques of studentship, like time management and note-taking. Enrichment services develop higher-order critical thinking skills and problem solving skills inherent in both abstractions and applications of curricular study.

Contact us as CASE@adelphi.edu (or Learningcenter@adelphi.edu), at ext. 3200, or via our eCampus tab, to review our full slate of real-time (in person and remote) and asynchronous services. These are included in your tuition so you've already bought them! Don't miss out on the opportunity to supercharge your college experience! Many services require reservations, especially late in the semester. Reserve a spot on our scheduling portal, and/or join the self-directed virtual CASE LAB. Get on the CASE, and take your Adelphi experience to the next level.

The Adelphi Honor Code

The University is an academic community devoted to the pursuit of knowledge. Fundamental to this pursuit is academic integrity. In joining the Adelphi community I accept the University’s Statement of Academic Integrity and pledge to uphold the principles of honesty and civility embodied in it. I will conduct myself in accordance with ideals of truth and honesty and I will forthrightly oppose actions which would violate these ideals.

Code of Academic Honesty

The Code of Academic Honesty prohibits behavior that can broadly be described as lying, cheating, or stealing. Violations of the Code of Academic Honesty will include, but not be limited to, the following:

  1. Fabricating data or citations
  2. Collaborating in areas not approved by the professor
  3. Unauthorized multiple submission of one’s own work
  4. Sabotage of others’ work, including library vandalism or manipulation
  5. Plagiarism
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating
  10. Other forms of academic dishonesty

Copying and pasting from any source into your assignments or exams without quotation marks, citations and references, constitutes plagiarism. Students are expected to produce and submit original work and to cite all sources appropriately. Unauthorized collaboration on any work, or the presentation of someone else’s work as your own, is plagiarism. Content generated by an Artificial Intelligence third-party service or site (AI- generated content, e.g. ChatGPT) without attribution or authorization is also a form of plagiarism. Unless explicitly stated, artificial intelligence-based technologies, such as ChatGPT or word mixing software, cannot be used to generate responses (partial or otherwise) for student assignments or exams.

If you are unsure about what plagiarism or another form of academic dishonesty are, please reach out to me to discuss it as soon as possible. An allegation of an academic integrity violation of this section may be referred for further review and could result in disciplinary action. https://www.adelphi.edu/conduct/academic-dishonesty.

Diversity statement

We value human dignity and diversity in all forms, embrace our differences, and honor all voices. We understand the collective power inherent in fully inclusive communities where each may meet their full potential to contribute.

Student Course Evaluations

During the last two weeks of the class, you will receive notification, via email and eCampus, that the course evaluation is available for your input electronically. Your feedback is valuable and students are strongly encouraged to respond. Please be assured that your responses are anonymous and the results will not be available to the instructor until after course grades have been submitted after the semester ends.

Religious observance policy

Adelphi University welcomes diversity in its community, and respects various religious observances. Students who anticipate being absent, due to their religious observance, are required by Adelphi University to notify their professors at the start of the semester. This will allow the faculty to take these observances into consideration in light of their course exam and assignment schedules. Students absent from class, clinical experiences, practice, labs, etc. on those days, after prior notice to the professor, will not be penalized for any exam or assignment deadline missed because of those absences. Students must contact the instructor to work out suitable arrangements for make-ups or other satisfaction of academic requirements. adelphi university
Creative Commons License
Educational information systems and networks was created by: This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at https://github.com/mcuringa/adelphi-ed-tech-courses.

Last modified: Tuesday, 29. August 2023 02:19PM