Class Compatibility with Linux

From RHLUG Wiki
Jump to navigation Jump to search

This page is licensed under GNU FDL 1.2. We give credit to the original authors of http://www.rhlug.pileus.org/wiki/Course_List and http://www.rhlug.pileus.org/wiki/Template:CourseRank.

I liked this page so much on the old wiki that I'm deciding to create an updated version.

WARNING: there may be some inaccuracies. Feel free to fix them.

Rank Description
Compatible with Linux All required software for the class runs on Linux, and requires little configuration beyond what is required on Windows.
Compatible with Additinal Configuration All required software for the class runs on Linux, but it may require substantial additional configuration. This category also includes classes whose software requires a container to run on most distributions, or when required Windows software works well with WINE.
Alternative Software Available Some required software for the class does not run on Linux, but Linux-compatible alternatives exists.
VM Required Some required software for the class requires Windows, but you can run it in a VM.
Dual-Boot Required Some required software for the class requires Windows, but cannot be run in a VM because it needs to interface with proprietary hardware.

This page ranks Rose courses based on their compatibility with use of Linux as sole operating system. Criteria include required software, note distribution format (PDF or HTML preferred), and the formats in which homework and projects must be turned in.

Green courses are doable entirely in Linux without issue, red are impossible or extremely difficult without recourse to Windows, and yellow fall somewhere in between (perhaps requiring use of a terminal server or virtualization for some portion of the coursework, or relying on formats that may cause issues in Linux). As many Rose courses simply require use of proprietary software like MATLAB, the open or proprietary nature of the software involved isn't considered. The openness of the data formats may factor into rankings, but use in practice is most important. For example, the Office Open XML (DOCX, XLSX, etc.) format might be required for turning in assignments. This is less than ideal — PDF is best, as it allows the most flexibility in generation, including tools like LaTeX — but still superior to a use of the DOCX format involving comments and version tracking, as those features only function properly in Microsoft Word. It would merit a yellow rating.

CSSE Courses

Compatible with Linux

CSSE120 - Introduction to Software Development

  • Software: Eclipse, Python, Git


Compatible with Additional Configuration

CSSE132 - Introduction to Computer Systems

  • Software: Git, GCC, GDB, QEMU, bash for one of the labs, command-line text editor (nano, vim, emacs, whatever)
  • Homework Distribution Format: PDF
  • Note: This course uses Ubuntu under WSL. If you're running a different distro, you may need to set up an Ubuntu container.


Compatible with Linux

CSSE220 - Object-Oriented Software Development

  • Software: Eclipse, JDK (including Java Swing), Git


Compatible with Linux

CSSE230 - Data Structures and Algorithm Analysis

  • Software: Eclipse, JDK (including Java Swing), SVN?


Compatible with Additional Configuration

CSSE232 - Computer Architecture I

  • Software: RARS, Git, ModelSim
  • Note Distribution Format: OneNote Online (depends on professor)
  • Note: The version of ModelSim they want you to install requires very old libraries that are not included in modern distributions. You can either use a toolbox, or use the newest version of modelsim, which some LUG members have has success with.
  • Note: RARS is an open-source RISC-V simulator written in Java, and runs fine on Linux. If you have a high DPI screen, run it with the following command: `java -Dsun.java2d.uiScale=2.0 -jar rars1_6.jar`


Compatible with Linux

CSSE304 - Programming Language Concepts

  • Note Distribution Format: PDF/PPTX, PDF (for summary notes and sample exams)
  • Software: DrRacket is suggested by the class, and runs on Linux. Many LUG members suggest using a better IDE. VSCode and Emacs have been used with success in the past.


Compatible with Linux

CSSE332 - Operating Systems

  • Software: gcc, gdb, a text editor (such as vim, emacs, or nano), qemu, Git
  • Note Distribution Format: PPTX
  • Note: Use of Linux is required in this class. People tend to use the given Ubuntu VirtualBox VM image provided by Rose. You can run things on your own Linux install though.


Alternative Software Available

CSSE333 - Database Systems

  • Software: Microsoft SQL Server Management Studio 2018, whatever your team uses to document your database system (LaTeX encouraged)
  • Note: you can use a different SQL server for your project, but it may be harder. You may also use DBeaver in place of SSMS, but it lacks some of the wizards used in the labs, making them more difficult.
  • AlphaCubed personally recommends PostgreSQL and not MySQL (as MySQL has limited features for stored procedures.)
  • ScanuRag personally recommends using the provided Microsoft SQL server for your project. PostgeSQL has different syntax for stored procedures, meaning you'll have to do additional work to use it.


Compatible with Linux

CSSE/MA335 - Parallel Programming

  • Software: Linux, OpenMPI, ssh, a text editor (nano, vim, emacs, Atom, Sublime Text, whatever), GCC (gdb optional for debugging, AlphaCubed didn't get it to work though).
  • Note Distribution Format: PDF
  • This course is a CSSE elective.


Alternative Software Available

CSSE371 - Software Requirements Engineering

  • Software: Eclipse (for initial in-class activities and using Camunda to emulate a real-world application with BPMN diagrams), SQLite (for an in-class activity on a database during Week 10), Camunda (runs on Linux), Requirements Manager (web-based), Balsamiq Diagrams (can do it on the web in Google Drive with a 30-day trial, or use WINE to emulate the Windows application - it requires Flash), whatever your group uses for documentation (LibreOffice or LaTeX encouraged).
  • Note Distribution Format: DOCX, PPTX (from my experience, typically opens in LibreOffice just fine)
  • This course begins the CSSE junior sequence (concurrently with CSSE333).

VM Required

CSSE372 - Software Project Management

Majority of the class works with Linux, but two homeworks require Windows-only software. One of these requires the COCOMO-II program, and the other requires Microsoft Project. It can be difficult to obtain an MS Project license, but if you get one you can run both in a VM.

VM Required

CSSE373 - Formal Methods

Visual Studio is required for the entirety of this course. All provided code depends on Windows-specific libraries.

Compatible with Linux

CSSE374 - Software Architecture and Design

  • Software: JDK, PlantUML, whatever IDE is necessary to implement your project (IntelliJ or Eclipse).
  • Note Distribution Format: DOCX, PPTX (from my experience, typically opens in LibreOffice just fine)
  • This course continues the CSSE junior sequence.
  • GradeScope is used for turning in homework and providing comments on returned homework.


Compatible with Linux

CSSE/MA473 - Design and Analysis of Algorithms

  • Software: Depends on professor. Some do no coding, some do coding.
  • Note Distribution Format: PDF


Compatible with Linux

CSSE/MA474 - Theory of Computation

  • Note Distribution Format: PDF/PPTX, PDF (for summary notes and the textbook), PDF/DOCX (for sample exams)
  • AlphaCubed recommends using Okular to annotate the textbook PDF.


ECE Courses

Compatible with Linux

ECE160 - Engineering Practice

  • Software: Arduino IDE, whatever your team uses to write reports (such as LaTeX, LibreOffice, or Etherpad)
  • Note Distribution Format: PDF, DOCX, PPTX


Compatible with Additional Configuration

ECE 233 - Intro to Digital Systems

  • Software: Quartus, ModelSim
  • Homework Distribution Format: PDF
  • Note: Quartus can run on Linux, but it has poor support for high dpi screens, and it's hard to get all dependencies installed. ModelSim can run on Linux as well, but it depends on very outdated libraries. On Fedora, a toolbox can be used to run it in a container.

Compatible with Additional Configuration

ECE332 - Computer Architecture II

  • Software: Whatever you use to write memos (such as LaTeX, LibreOffice, or Etherpad), whatever your team uses to write reports and edit videos (such as LaTeX, LibreOffice, or Etherpad for writing reports; Kdenlive for editing videos), TurnItIn for memos
  • Note Distribution Format: PDF/PPTX (the PDF versions have the same notes as PPTX)
  • GradeScope is used for turning in homework/exams and providing comments on returned homework/exams.


MA Courses

Compatible with Linux

MA111 - Calculus I

  • Depends on professor. The below would be given a "green" rank/rank 3.
  • Software: Maple (runs on Linux)
  • Note Distribution Format: PDF (PDF comments may be given for assignment feedback)


Compatible with Linux

MA112 - Calculus II

  • Depends on professor. The below would be given a "green" rank/rank 3.
  • Software: Maple (runs on Linux)
  • Note Distribution Format: PDF (PDF comments may be given for assignment feedback)


Compatible with Linux

MA113 - Calculus III

  • Depends on professor. The below would be given a "green" rank/rank 3.
  • Software: Maple (runs on Linux)
  • Note Distribution Format: PDF (PDF comments may be given for assignment feedback)


Unknown

MA212 - Differential Equations II

  • NOTE: This will be phased out with the new Differential Equations course sequence coming in 2021.
  • Depends on professor. The below would be given a "green" rank/rank 3.
  • Software: Maple (runs on Linux)
  • Note Distribution Format: PDF


Compatible with Linux

MA381 - Probability and Intro to Statistics

  • Software: Maple (optional, depends on professor, runs on Linux), RStudio open-source version (runs on Linux)
  • Note Distribution Format: PDF


Compatible with Linux

MA223 - Engineering Statistics

  • Software: The Web version of RStudio is suggested by the Professor. You can also choose to install the desktop version, which runs on Linux.
  • Note Distribution Format: PDF


PH Courses

Dual-Boot Required

PH111 - Physics I

  • Depends on professor. The below would be given a "red" rank/rank 1. Logger Pro 3.5 is used by almost all professors.
  • Software: Whatever your team uses to write lab reports, Logger Pro 3.5 (does not run on Linux anymore, sadly), Maple (runs on Linux)
  • Note Distribution Format: PPTX


Dual-Boot Required

PH 112 - Physics II

  • Depends on professor. The below would be given a "red" rank/rank 1. Logger Pro 3.5 is used by almost all professors.
  • Software: Whatever your team uses to write lab reports, Logger Pro 3.5 (does not run on Linux anymore, sadly), Maple (runs on Linux)
  • Note Distribution Format: PPTX


CHEM Courses

Compatible with Linux

CHEM 111 - Chemistry I

  • Software: Text editor of your choice
  • Note: Some lab professors require a text editor that supports autosave. LibreOffice can be configured to do this.
  • Homework Distribution Format: MyLab / Mastering


BIO Courses

Compatible with Additional Configuration

BIO 107 - Intro to Environmental Science

  • Software: Text editor capable of opening pptx files
  • Note: LibreOffice may change font sizes upon importing files. This can be problematic for the DSRP Analysis assignment. Check with your professor.


See also

Software Alternatives