Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/typos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Typos

permissions:
contents: read

on: pull_request

jobs:
typos:
name: Check Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v5
- name: Spell Check Repo
uses: crate-ci/typos@v1.42.2
12 changes: 12 additions & 0 deletions _typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[default.extend-words]
Sur = "Sur" # Proper Noun
Mata = "Mata" # Name of professor
Gatin = "Gatin" # Name of professor
Messager = "Messager" # This is valid because Java.

[files]
extend-exclude = [
"docs/department/computer_labs/jmucs-known_hosts.txt",
"archive/**",
"docs/department/cs-success.md" # This file is ignored because of false positives.
]
2 changes: 1 addition & 1 deletion docs/department/ta-program/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

We have an [internationally recognized](https://dl.acm.org/doi/abs/10.1145/3478432.3499148) leadership and professional development program in which our undergraduate majors and minors learn technical and professional skills while working to support their peers working to apply to the CS major.

Our program focusses resources on the introductory courses, with several (5-8) hours of open office hours 5 nights a week and in class TAs. TAs provide near peer mentorship to incoming students as well as technical support for coursework. They have been trained in both technical topics and issues in maintaining a positive community culture. TAs are also trained and encouraged to not just give answers to their students, but to ask leading questions and enable students to find the answer by constructing their own knowledge. Technical topics include how to use tools such as debuggers, a variety of IDEs, how python and java differ, and different programming patterns. Issues around maintaining a positive community include growth mindset, microagressions and how to avoid them, stereotypes and implicit bias, and details about Title IX and FERPA requirements. Unlike in many traditional programs, all TAs are undergraduates and are supervised by the same faculty member(s) and not individual faculty whose classes they may support. This allows for the training and community building of teaching assistants promoting a welcoming and supportive community culture within the department. All TAs are leaders within the department and some TAs are Lead TAs, with leadership experiences within the program itself.
Our program focuses resources on the introductory courses, with several (5-8) hours of open office hours 5 nights a week and in class TAs. TAs provide near peer mentorship to incoming students as well as technical support for coursework. They have been trained in both technical topics and issues in maintaining a positive community culture. TAs are also trained and encouraged to not just give answers to their students, but to ask leading questions and enable students to find the answer by constructing their own knowledge. Technical topics include how to use tools such as debuggers, a variety of IDEs, how python and java differ, and different programming patterns. Issues around maintaining a positive community include growth mindset, microagressions and how to avoid them, stereotypes and implicit bias, and details about Title IX and FERPA requirements. Unlike in many traditional programs, all TAs are undergraduates and are supervised by the same faculty member(s) and not individual faculty whose classes they may support. This allows for the training and community building of teaching assistants promoting a welcoming and supportive community culture within the department. All TAs are leaders within the department and some TAs are Lead TAs, with leadership experiences within the program itself.

## TA Lab Hours

Expand Down
2 changes: 1 addition & 1 deletion docs/events/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

- N/A

### Feburary
### February

- N/A

Expand Down
2 changes: 1 addition & 1 deletion docs/student/autolab/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Here is an online tool to check your code for non-ASCII characters: <https://pag

## Official Tests Won't Compile

This is most likely because your code does not conform to the specifications. Common examples include: misnamed methods/functions, a mis-packaged submission, case problems, missing classes/files, and missing or incorrect use of the static keyword.
This is most likely because your code does not conform to the specifications. Common examples include: misnamed methods/functions, a mispackaged submission, case problems, missing classes/files, and missing or incorrect use of the static keyword.
2 changes: 1 addition & 1 deletion docs/student/c/gdb.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ g++ -c -g Driver.cpp

## Starting gdb

To start gdb, simply enter the gdb command in a terminal window. It has one paramter, the name of the executable. For example:
To start gdb, simply enter the gdb command in a terminal window. It has one parameter, the name of the executable. For example:

gdb Driver

Expand Down
4 changes: 2 additions & 2 deletions docs/student/c/make.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Multiple targets can be specified in the same dependency line; separate them usi

A dependent is a valid file name. It can contain path information.

Multiple dependents can be specified in the same dependency line; seperate them using spaces or tabs.
Multiple dependents can be specified in the same dependency line; separate them using spaces or tabs.

Of course, a dependent can also be a target elsewhere in the makefile. The make command will update dependents that are targets first. However, some care needs to be taken when creating makefiles.

Expand All @@ -68,7 +68,7 @@ The first description block says that the target `test` depends on two files, `t

The second description block says that `test.o` depends on `test.c` and `module1.h` (because `test.c``#include`s `module1.h`), and that it can be created with the [g++ compiler](gpp.md).

The third description block says that `module1.o` depends on `module1.h` (which contains the declarations) and `module1.c` (which contains the implemntations), and that it can be created with the [g++ compiler](gpp.md).
The third description block says that `module1.o` depends on `module1.h` (which contains the declarations) and `module1.c` (which contains the implementations), and that it can be created with the [g++ compiler](gpp.md).

Assuming that this makefile is named `makefile`, the application `test` can be built with the following command:

Expand Down
2 changes: 1 addition & 1 deletion docs/student/checkstyle/common-defects.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Variable/attribute names must start with a lowercase letter, and contain only le
There must be a newline character at the end of every file. Move the cursor to the last character in the file and press Enter. Then, make sure that there are no other characters on the last line - the absolute last character must be a newline. Finally, make sure that your editor/IDE is using the appropriate end of line character.

**'X' should be on a new line. \[OperatorWrap\]**
This is usually becase a long line was split and the operator, denoted by 'X', is at the end of a line rather than the beginning of the next one.
This is usually because a long line was split and the operator, denoted by 'X', is at the end of a line rather than the beginning of the next one.

**Unnecessary parentheses around assignment right-hand side. \[UnnecessaryParentheses\]**
The expression on the right-hand side of an assignment operator has unnecessary parentheses that must be removed. For example, x = (x + 1); must be x = x + 1;.
Expand Down
8 changes: 4 additions & 4 deletions docs/student/eclipse/help.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ To fix the indentation of a file:

Type "Ctrl"+"Space" to see a list of suggested completions. (Typing one or more characters before doing so will shorten the list.)

When the cursor is in a method, type "Ctrl"+"Shift"+"Space" to see a list of parmeter "hints".
When the cursor is in a method, type "Ctrl"+"Shift"+"Space" to see a list of parameter "hints".

### Matching Braces/Curly Brackets

Expand Down Expand Up @@ -274,7 +274,7 @@ To create a run configuration, select the appropriate type and click on the \[Ne

### Command-Line Arguments

It is sometimes necessary to pass parameters to an application at start-up. Such parameters are typically called command-line arguments because applications used to be started only from the command line. You can instruct Eclispe to pass the a `main()` method arguments as follows.
It is sometimes necessary to pass parameters to an application at start-up. Such parameters are typically called command-line arguments because applications used to be started only from the command line. You can instruct Eclipse to pass the a `main()` method arguments as follows.

1. Expand the "Run" button (or click on the "Run" menu) and pull down to "Run Configurations...".
2. On the "Main" tab, select the project and the main class (i.e., the class that contains the `main()` method).
Expand All @@ -284,7 +284,7 @@ Of course, since the only parameter of `main()` is a `String[]`, all such argume

## Testing Using JUnit

The JUnit view (i.e., tab) can be configrued in a variety of ways.
The JUnit view (i.e., tab) can be configured in a variety of ways.

If you click on the "expand" arrow, you can select "Activate on Error/Failure Only" in which case the JUNIT view will only be come visible when there are failed tests.

Expand Down Expand Up @@ -360,7 +360,7 @@ Though it is possible to create an executable/runnable `.jar` using the wizard f

1. Click on "File"-"Export" and expand "Java".
2. Select the "JAR File" wizard and click on "Next".
3. In the "Select the resources to export" tree, select the appropriate packages and the appropriate resource directories/folders. **Note that the `.jar` file will include a directory/folder containing the resources. You will need to take this into account when loading resources withing the program (i.e., you will need to include the directory in the path). See the section on [using resources](../java/resources.md)**
3. In the "Select the resources to export" tree, select the appropriate packages and the appropriate resource directories/folders. **Note that the `.jar` file will include a directory/folder containing the resources. You will need to take this into account when loading resources within the program (i.e., you will need to include the directory in the path). See the section on [using resources](../java/resources.md)**
4. Deselect the Eclipse-related files (e.g., `.classpath`, `.project`).
5. Select **only** "Export generated class files and resources" and "Compress the contents of the JAR file".
6. Enter the name of the "JAR file:".
Expand Down
2 changes: 1 addition & 1 deletion docs/student/gcov/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ This will create a machine readable `.gcda` file for each instrumented `.o` file

## Executing gcov

`gcov` creates a human-readble `.gcov` file for each instrumented `.o` file. that contains coverage information. For example, the command:
`gcov` creates a human-readable `.gcov` file for each instrumented `.o` file. that contains coverage information. For example, the command:

``` bash
gcov ShopperTest.cpp Shopper.cpp -m
Expand Down
2 changes: 1 addition & 1 deletion docs/student/java/attributedstring.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ the following snippet will create an `AttributedString` in which the characters

## Rendering an AttributedString

Most GUI components do not support the rendering of `AttributedSTring` objects. Fortunately, it is easy to create one that does. For example:
Most GUI components do not support the rendering of `AttributedString` objects. Fortunately, it is easy to create one that does. For example:

import java.awt.*;
import java.text.*;
Expand Down
4 changes: 2 additions & 2 deletions docs/student/java/formatting.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Format specifiers have the following syntax.

Common values of *conversion* include `b` for `boolean`, `c` for `char`, `d` for `int`, `e` for `double` in scientific notation, `f` for `double`, and `s` for `String`.

Common values of the optional *flag* include `-` for left-justified, `+` to always include the sign, `0` to pad with zeros, `,` to use grouping separators, `(` to put negative numbers in parentheses, and a space character to use a space for the sign of a postive number (as opposed to omitting it).
Common values of the optional *flag* include `-` for left-justified, `+` to always include the sign, `0` to pad with zeros, `,` to use grouping separators, `(` to put negative numbers in parentheses, and a space character to use a space for the sign of a positive number (as opposed to omitting it).

The optional *width* determines the total number of characters that this portion of the `String` will contain. The optional *precision* determines the nnumbenr of digits to the right of the decimal point for `double` values.

Expand Down Expand Up @@ -49,7 +49,7 @@ Obviously, once you have a formatted `String` there are many things that you can
System.out.println(s);
```

However, when all you want to do is print a formatted `String`, it is easier to do it in one step, rather than two (i.e., first calling `format()` and then calling `println()`. To accomodate this, all objects that have a `println()` method also have a `printf()` method that has the same syntax as the `format()` method. Hence, the previous example could also be implemented as follows.
However, when all you want to do is print a formatted `String`, it is easier to do it in one step, rather than two (i.e., first calling `format()` and then calling `println()`. To accommodate this, all objects that have a `println()` method also have a `printf()` method that has the same syntax as the `format()` method. Hence, the previous example could also be implemented as follows.

``` java
int year = 2017;
Expand Down
4 changes: 2 additions & 2 deletions docs/student/java/jar.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ You may want to include files other than `.class` files in a `.jar` file (e.g.,

By default, executable `.jar` files use the Java icon.

To change the icon in OS X, copy the icon you want to use (using "Commmand"+"c"), right-click on the `.jar` file, pull down to "Get Info", click on the icon in the upper-left corner of the dialog box, and paste the icon (using "Command"+"v").
To change the icon in OS X, copy the icon you want to use (using "Command"+"c"), right-click on the `.jar` file, pull down to "Get Info", click on the icon in the upper-left corner of the dialog box, and paste the icon (using "Command"+"v").

To change the icon in many Linux distributions, right-click on the `.jar` file, pull down to "Properties", click on the "Basic" tab, and then click-and-drag the icon you want to use to the icon in the upper-left corner of the dialog box.

In MS-Windows you can't change the icon of the `.jar` file directly. However, you can create a shortcut and change it's icon. To do so, right-click on the `.jar` file and pull down to "Create shortuct". Then, right-click on the shortcut, pull down to "Properties", click on the "Shortcut" tab, click on "Change Icon...", navigate to the `.ico` file, click on "OK", and click on "OK".
In MS-Windows you can't change the icon of the `.jar` file directly. However, you can create a shortcut and change it's icon. To do so, right-click on the `.jar` file and pull down to "Create shortcut". Then, right-click on the shortcut, pull down to "Properties", click on the "Shortcut" tab, click on "Change Icon...", navigate to the `.ico` file, click on "OK", and click on "OK".

## For More Information

Expand Down
2 changes: 1 addition & 1 deletion docs/student/java/javadoc.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Note that the `javadoc` tool generates a large number of "supporting" files even

## Troubleshooting

If you're style-checker gives you a message like `@param tag must be preceeded by a blank line`, it probably means that there is extra whitespace on the line the line containing the `@param` tag. Delete anything (even if you can't see it) that is after the asterisk on the "blank" line.
If you're style-checker gives you a message like `@param tag must be proceeded by a blank line`, it probably means that there is extra whitespace on the line the line containing the `@param` tag. Delete anything (even if you can't see it) that is after the asterisk on the "blank" line.

## For More Information

Expand Down
10 changes: 5 additions & 5 deletions docs/student/junit/v4.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ Information about how to download and install JUnit is available from [junit.org

#### Configuration

The Java compiler needs to be able to "find" the JUnit classes and the Java intepreter needs to be able to find both the JUnit classes and the Hamcrest classes. For this discussion, we will assume that the JUnit classes are in `junit.jar` and the Hamcrest classes are in `hamcrest-core.jar` (though the actual names will vary). You can either identify the location of these files each time you use the compiler/interpreter or you can set an operating system environment variable named `CLASSPATH`.
The Java compiler needs to be able to "find" the JUnit classes and the Java interpreter needs to be able to find both the JUnit classes and the Hamcrest classes. For this discussion, we will assume that the JUnit classes are in `junit.jar` and the Hamcrest classes are in `hamcrest-core.jar` (though the actual names will vary). You can either identify the location of these files each time you use the compiler/interpreter or you can set an operating system environment variable named `CLASSPATH`.

#### Using the CLASSPATH Environment Variable

Expand All @@ -204,7 +204,7 @@ export CLASSPATH=.://directory//junit.jar://directory//hamcrest-core.jar:$CLASSP

where *directory* denotes the name of the directory/folder that contains the files `junit.jar` and `hamcrest-core.jar`.

For example, assuming that the two `.jar` fiels are in the current working directory, you can set the `CLASSPATH` as follows:
For example, assuming that the two `.jar` files are in the current working directory, you can set the `CLASSPATH` as follows:

``` bash
export CLASSPATH=.:junit.jar:hamcrest-core.jar:$CLASSPATH
Expand All @@ -229,7 +229,7 @@ To compile:

`javac -cp .:junit.jar ClassNameTest.java`

where *Name* represents tha name of the class being tested (and can contain wildcards like \*).
where *Name* represents the name of the class being tested (and can contain wildcards like \*).

To run:

Expand All @@ -252,7 +252,7 @@ If all of the tests are successful, an "OK" message will be printed. If not, a l

#### Configuration

The Java compiler needs to be able to "find" the JUnit classes and the Java intepreter needs to be able to find both the JUnit classes and the Hamcrest classes. For this discussion, we will assume that the JUnit classes are in `junit.jar` and the Hamcrest classes are in `hamcrest-core.jar` (though the actual names will vary). You can either identify the location of these files each time you use the compiler/interpreter or you can set an operating system environment variable named `CLASSPATH`.
The Java compiler needs to be able to "find" the JUnit classes and the Java interpreter needs to be able to find both the JUnit classes and the Hamcrest classes. For this discussion, we will assume that the JUnit classes are in `junit.jar` and the Hamcrest classes are in `hamcrest-core.jar` (though the actual names will vary). You can either identify the location of these files each time you use the compiler/interpreter or you can set an operating system environment variable named `CLASSPATH`.

#### Using the CLASSPATH Environment Variable

Expand Down Expand Up @@ -282,7 +282,7 @@ To compile:

`javac -cp .;junit.jar ClassNameTest.java`

where *Name* represents tha name of the class being tested (and can contain wildcards like \*).
where *Name* represents the name of the class being tested (and can contain wildcards like \*).

To run:

Expand Down
Loading
Loading