Lecture notes from SLU CS-340 Summer 2021
The repository contains the lecture notes for the Summer 2021 semester's instruction of CS 340: Software Engineering at St. Lawrence University. The notes are all written and curated as markdown files and formatted with the style guide specified below.
The course consisted of 29 class dates, however, some lectures were dedicated to guest lectures and reading days. These sessions do not contain corresponding notes in the repo.
The Lecture Notes span the following topics in chronological order:
- The Command-Line
- Version Control Systems
- Quality Assurance
- Software Defects
- Software Design
- Name lecture files Lecture_{number}.md starting from 1 to comply with Lecture and Homework counting scheme of course site
- If the Lecture number is less than 10, use a leading zero before the number
- Ex/ Lecture_05.md
- This ensures files are sorted in chronological lecture order preventing Lecture_10.md to be sorted before Lecture_5.md
The Lecture_template.md file in the repository provides formatting guidelines for lecture note files.
- Include the course information in the first line of the file as a four hash subtitle (####)
- Add title, single hash (#), to each file with respective information on its lecture number, topic, and date
- Not only does this provide a consistent style, but allows for easy 'grepping' of content based on files' useful information
The header should look as follows and can be found in the template file.
#### CS 340 Class Notes Summer 2021
# Lecture #: Topic
(mm/dd/2021)
- Make use of double hashes for main sections (##) and add one more hash for subsections
## Section
### Subsection
#### Subsubsection
- Note: Lecture notes generally revolve around a couple of main topics as opposed to many sectioned topics, so numbering headers is not necessary
- Introduce a single blank line in between paragraphs and between title headings and content
- Specify language for code blocks, except for pseudo-code
- Note: some pseudo-code in the lectures is made to be similar to other languages, Python for example. In these cases, the developer may specify this language as long as they are consistent within the block
Other formatting guidelines were specified through the commit and issues history of the repository but were not stated in the template. These are more guidelines than hard rules but are recurring styles in the notes.
- Make use of Markdown code syntax for bash commands, with explanations after a colon
- Bolding may be used as well but this is preferred for definitions
- `command`: explanation
+ `-flag`: explanation
- **definition**: explanation
- Remove trailing whitespace except for single blank line after the end of note content
- Kevin Angstadt. CS-340: Software Engineering. Summer 2021. St. Lawrence University, https://myslu.stlawu.edu/~kangstadt/teaching/summer21/340/. License: Creative Commons BY-SA 4.0.