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.

NOTE: Colors will not display. The template needs to be updated. Feel free to help out with that! You can see the "rank" which tells you what color a course would be if you go to the "View source" tab at the top of the page (NOT inspect element).

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

CSSE120 - Introduction to Software Development

  • Software: Eclipse, Python, Git

CSSE132 - Introduction to Computer Systems

  • Software: Xilinx ISE, Git, GCC, GDB, bash on Raspberry Pi (or your computer) for one of the labs, command-line text editor on Raspberry Pi (nano, vim, emacs, whatever)
  • Homework Distribution Format: PDF
  • Note: This course uses a Raspberry Pi which is where you'll do most of your Linux work. It's required for this class, but you can run the other software not used on the Pi (Xilinx ISE) on Linux as well.

CSSE220 - Object-Oriented Software Development

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

CSSE230 - Data Structures and Algorithm Analysis

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

CSSE232 - Computer Architecture I

  • Software: Xilinx ISE, Git
  • Note Distribution Format: OneNote Online (depends on professor)

CSSE304 - Programming Language Concepts

  • Note Distribution Format: PDF/PPTX, PDF (for summary notes and sample exams)
  • Software: Petite Chez Scheme 8.4 (https://scheme.com/csv8.4/) (may change to Cisco Chez Scheme when the newer PLC2 server is used in production to grade assignments), PLC Grading Server (web-based)
  • There is a built-in GUI on Windows with Petite Chez Scheme called SWL. It isn't installed on Linux. I don't recommend even using it because it doesn't work well.
  • Instead I'd recommend using something like Visual Studio Code. You can run your code using petite <filename>.ss in the command line.

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.

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.
  • AlphaCubed personally recommends PostgreSQL and not MySQL (as MySQL has limited features for stored procedures.)

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.

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).

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.

CSSE/MA473 - Design and Analysis of Algorithms

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

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

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

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

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)

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)

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

MA381 - Probability and Intro to Statistics

  • Depends on professor. The below would be given a "green" rank/rank 3.
  • Software: Maple (optional, depends on professor, runs on Linux), RStudio open-source version (runs on Linux)
  • Note Distribution Format: PDF


PH Courses

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


PH112 - 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


See also

Software Alternatives