• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!


Computer Science Infrastructure Course

Page history last edited by Justin Spratt 12 years, 10 months ago


Your instructor is Justin Spratt, himself a student of computer science (currently at Dordt College).  Justin is available and eager to answer your questions at any time of the day or night!  Means of contacting Justin are discussed in Lesson 1.


This course aims to provide the knowledge that students of computer science should have before they begin formal training at a university.  As such, this course will have four main parts: 1. Computer Theory, 2. Individual Computer Infrastructure, 3. Network Infrastructure, and 4. Being a power user.


In order to accomplish these goals, both theoretical discussion and study as well as hands-on interaction will be regular parts of the course.  Topics will range from the mathematics of computing to the underlying physics of modern electronic computers to how to browse the web safely.


This course will be conducted using a variety of technologies including the wiki.  The CMSC-099 section on this website (which starts with this very page) is the instructor's wiki.  Information about the course, including lesson notes and assignments, is here.  The other wiki is the Spratt Digital Academy site.



The following are required before classes begin (the standard homework policy applies to these):


  1. Read the homework policy on the assignments page.
  2. Have a PBWorks account and apply for access to sdacademy.pbworks.com
  3. Be familiar with the instructor's contact info.
  4. Have a Gmail account and email the instructor from that account.
  5. Request that the instructor share the course calendar with you via Google Calendar.
  6. Have a Skype account and contact the instructor from that account.
  7. Get started with IRC.  Contact the instructor via IRC.


Lesson Notes

These lesson notes are a supliment and not a a substitute for class time.  The main objective of these notes is to reduce the amount of class time that has to be wasted by taking notes.


(Lesson 0: Template lesson)


  1. Lesson 1: Infrastructure for infrastructure for computer science (course introduction)
  2. Lesson 2: An Introduction to computer science, software engineering, computer engineering, and system administration: What is a computer?  What is an algorithm?
  3. Lesson 3: Computer Math: Binary arithmetic, logic, and algebra (skip)
  4. Lesson 4: Gates: the building blocks of circuits and Abstraction: how we get on with life (skip)
  5. Lesson 5: Digital Trees: File systems and organization
  6. Lesson 6: Hands-on: Building a computer (two days?)
  7. Lesson 7: Hands-on: Installing an operating system (two days?)
  8. Lesson 8: Hands-on: Connecting to the local area network (LAN) and the internet (Wide Area Network WAN) (two days?)
  9. Lesson 9: Computer and Internet security (three days?)
  10. Lesson 10: Hands-on: Installing software
  11. Lesson 11: Using computers quickly
  12. Lesson 12: Learning to learn more



Course Calendar

The course calendar is a Google calendar.



Course Resources






Course Topics (disorganized)

Note: these topics will not necessarily be presented in the order they appear below.


  • Part 1: Computer Theory 
  • Part 2: Individual Computer Infrastructure
    • Hardware
      • Processor: CPU
      • Memory: RAM
      • Storage: HDD
      • Interconnection: Motherboard, case
      • Peripherals: Optical drives, external drives (USB/eSATA), card readers 
    • Input/Output:
      • monitor
        • graphics card
        • resolution
        • DPI
      • keyboard
        • keyboard construction
      • mouse
        • importance of many buttons
        • DPI
    • Software
      • operating systems
      • applications
        • office suites
        • media players 
    • Computer security
      • threats
      • malware
      • safe computing practices
      • hardware security
      • software security
        • protecting from key vectors (web, Adobe/documents, email, etc)
        • user security (locked down PCs)
        • anti-virus type security 
  • Part 3: Network Infrastructure
    • The difference between the Internet and the Web
    • Data speed measurement
      • KBps vs. Kbps; MBps vs. Mbps
    • OSI Layer 1 and 2 infrastructure:
      • Layer 1: the wires
        • Wired: Ethernet 802.3 (1, 10, 100, 1000+ Mbps implementations)
        • Wireless 802.11 (a: 54Mbps, b: 11Mbps, g: 54Mbps, n: 150Mbps) 
      • Layer 2: the frames
        • MAC addresses
    • OSI Layer 3 and 4:
      • Layer 3: IP: addresses, packet routing, NAT
      • Layer 4: Data protocols: TCP and UDP
    • OSI Layer 5 and 6:
      • Layer 5: Sessions: long term connections
      • Layer 6: Presentation: formatting and encryption (syntax)
    • OSI Layer 7:
      • Layer 7: Application layer traffic: HTTP, etc.
    • Useful network tools
      • speed measurement
    • Common tasks
      • port forwarding
      • restricting outbound traffic
    • Diagnosing network-related problems
    • web browsing
    • Security
      • Network security
      • web browsing securely
    • Virtual Desktops, Thin Clients, and Terminal Applications
  • Part 4: Being a power user
    • Online safety and privacy (browsing securely)
    • Using the command line interface (CLI)
    • Getting started with Linux
    • Diagnosing computer problems
      • Key Performance Metrics:
        • Single PC KPMs
          • CPU
          • RAM
          • I/O
            • Hard disk usage
            • Network I/O
        • Network KPMs
          • Internet connection speed
          • DNS benchmark
      • The task manager
      • Dealing with "slow" computers
        • Finding the bottleneck
        • Disk performance
        • Latency/Lag vs. throughput
    • Using only the keyboard
    • downloading torrents
    • Setting up a server
      • domain vs workgroups
      • domain accounts
      • File Sharing
    • backing up and archiving
    • disk images, phantom disk drives
    • building an automated Windows ISO
  • Part 5: Learning to learn more
    • Searching more effectively
    • Wikis
    • IRC, forums, mailing lists 


Further Reading


  1. Security Now! podcast (especially episodes (n = networking, s = security, c = computing fundamentals, g = government involvement in the internet) 8ns, 15ns, 17n, 18n, 19n, 25n, 26n, 27n, 29ns, 30s, 31s, 33s, 34s, 35s, 37s, 42n, 43n, 45n, 47ns, 55sc, 61ns, 62n, 65s, 69ns, 70ns, 79ns, 82ns, 137cs, 139n, 149nsg, 151nsg, 153nsg, 155ns, 157ns, 163ns, 179ns, 181s, 183s, 185s, 195ns, 199n, 223ns, 233c, 235c, 237c, 239c, 241c, 243nsg, 247c, 250c, 252c, 254c, 260ns, 262ns, 268s, 272ns, 276ns)


Home  |  Up  |  Copyleft  |  Contact 

Comments (0)

You don't have permission to comment on this page.