Giter Club home page Giter Club logo

ew401's Introduction

es401

This repository contains USNA ES200 Introduction to Systems Engineering course materials, mostly in Latex and C. It is revision controlled using git. To obtain a clone of these materials do one of the following:

git clone https://github.com/devangel77b/es200
git clone ssh://[email protected]/devangel77b/es200.git

The repository is currently set to private. For USNA WSE staff, Evangelista can set you as a collaborator to be able to access, pull, and push changes; please provide your github username.

The repository makes use of git-lfs extensions for graphics and other resources, so be sure this is installed on your machine.

My intention is to do tagged versions at each semester to aid in archiving course material for audit and accreditation purposes. To support this, if you plan to work on changes, please coordinate via the Github issue tracker and work in a new branch or a fork and send me a pull request (like proper software multi-programmer editing process), or work in the dev branch (which is where I work on new features).

After cloning the directory, copy the course.sty.example file to course.sty:

cp course.sty.example course.sty

You should then edit the course.sty file to list your own name as the instructor, change the institution, course number, course name, assignment due dates etc.

Compiling the course materials in LaTeX

The materials are compiled using LaTeX. On Windows machines, you will want to install Miktex. On Linux Ubuntu machines, I use the Texlive distributions. I have found Emacs and Texworks to be decent editors that are available on most machines.

The Linux distribution will need to have a few packages installed, including: siunitx, graphicx, beamer, tufte-latex, lstlisting, (a few others?) Miktex instalations on Windows machines should automatically install missing ones as it realizes they are missing. Texlive installations seem to have these already.

The directory structure should allow all the files to see the main course.sty options file where instructor name, course name and number, dates, etc are set. Relative addressing for references and figures should also already be handled (see example files for examples). The materials are already in a file structure for admin, hw, lectures, etc. To compile a handout should just be the standard LaTeX sequence, for example:

cd course/hw/1/
pdflatex hw1
pdflatex hw1
pdflatex hw1
bibtex hw1
pdflatex hw1

Rationale for LaTeX

LaTeX was used for all engineering course materials when I was an undergrad; it is an old and stable system well suited to this task. Use of git with LaTeX allows a revision controlled, backed up repository that can be cloned, versioned, forked, etc as necessary; and use of the git-lfs extensions allows all of the figures to be bundled too. ES200 and the like require lots of code and equations which are much more graceful to do here in LaTeX; autoformatting the code is simple. USNA network outages have shown that total reliance on Google Drive or network drives can cause problems when access is lost. LaTeX should not be burdensome for code-capable engineers to use as it is already required for submission to many engineering journals.

Personally, I have found that ITSD changes in version between various Office products alters the look and layout of slides and text and makes some legacy course material illegible. In addition, Google Drive posting on the .doc and .ppt files sometimes left out things like equations or chunks of text. I have not had these problems with PDF output created using LaTeX.

There is peer-reviewed literature about the dangers and limitations of Powerpoint and its role in some major engineering disasters. I am attempting to use more Tufte-like notes and materials to move away from bullet point engineering and bad habits and cognitive styles enabled by Powerpoint.

Known issues

  1. I'm still deciding if I prefer to do .svg in which inline Latex is handled through Latex or not. That feature works fine on Texlive installs but is difficult to configure on Miktex/Windows machines because it requires Inkscape be callable by Latex.
  2. There's a directory for book type materials but it has not yet been filled in to the same extent as the ES202 course materials. It will be eventually.
  3. Other issues (e.g. fair use) are noted in the online issue tracker in Github.
  4. My Fall 2017 course policy file policy.tex currently uses a navy memo class developed by Evangelista that is not bundled within this repository. I'll have to track down where I have that one on github.

ew401's People

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.