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
2 changes: 1 addition & 1 deletion .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '17', '22' ]
java: [ '21', '24' ]
name: JDK ${{ matrix.Java }}
steps:
- uses: actions/checkout@v3
Expand Down
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Java CI with Maven](https://github.com/YourGitHubId/JoyOfCodingWinter2025/actions/workflows/maven.yml/badge.svg)](https://github.com/YourGitHubId/JoyOfCodingWinter2025/actions/workflows/maven.yml)
[![Java CI with Maven](https://github.com/YourGitHubId/JoyOfCodingSummer2025/actions/workflows/maven.yml/badge.svg)](https://github.com/YourGitHubId/JoyOfCodingSummer2025/actions/workflows/maven.yml)

# Getting Started with The Joy of Coding with Java and Android

Expand Down Expand Up @@ -71,7 +71,7 @@ developer"](https://education.github.com/pack) account that gives you
free private repositories. Then [create a private GitHub
repository from this "template" repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template)
for your source code for this course. (In this example, the
repository is named "JoyOfCodingWinter2025".)
repository is named "JoyOfCodingSummer2025".)

Again, please ensure that all of your code for the assignments is in a
**private** GitHub repository. GitHub makes it very easy for people to
Expand Down Expand Up @@ -99,7 +99,7 @@ The following command lines assume that you are running in the
directory created by cloning the repository.

```sh
$ cd JoyOfCodingWinter2025
$ cd JoyOfCodingSummer2025
```

### How do I use the Java Development Kit?
Expand Down Expand Up @@ -226,7 +226,7 @@ clone by adding the directory to git.

```sh
$ ./mvnw clean # Remove files that shouldn't be committed to version control
$ cd .. # to JoyOfCodingWinter2025 directory
$ cd .. # to JoyOfCodingSummer2025 directory
$ git add student
$ git commit -m "Added source files for student project"
```
Expand Down Expand Up @@ -285,7 +285,7 @@ After `ssh`ing to one of the CS Department's Linux machines, you can
make a clone of your GitHub repository using with:

```
$ git clone https://github.com/YourGitHubId/JoyOfCodingWinter2025.git
$ git clone https://github.com/YourGitHubId/JoyOfCodingSummer2025.git
```

### How can I get changes that other people make into my clone?
Expand All @@ -299,7 +299,7 @@ First, configure your repository to have this repository to be a
"remote" named "upstream".

```sh
$ cd JoyOfCodingWinter2025
$ cd JoyOfCodingSummer2025
$ git remote add upstream https://github.com/JoyOfCodingPDX/GettingStarted.git
```

Expand Down Expand Up @@ -417,21 +417,21 @@ $ git checkout main

### About how long do the projects take to complete?

Starting in the Summer of 2022, we started gathering data from students
Starting in the Winter of 2022, we started gathering data from students
regarding the approximate number of hours they spend working on each project.
Note that there are not as many submissions for the XML project because it only
applies to the 11-week version of the course, which is not offered in the Summer.
The following is a summary of the data gathered to date.

| | App Classes | Text File | Pretty Print | Koans | XML | REST | Android |
|:-----------|------------:|----------:|-------------:|----------:|---------:|----------:|---------:|
| Count | 116 | 116 | 112 | 97 | 55 | 104 | 105 |
| Average | 20 hours | 20 hours | 23 hours | 20 hours | 24 hours | 30 hours | 25 hours |
| Maximum | 60 hours | 120 hours | 72 hours | 100 hours | 60 hours | 129 hours | 90 hours |
| Top 25% | 25 hours | 25 hours | 30 hours | 24 hours | 30 hours | 40 hours | 30 hours |
| Median | 20 hours | 19 hours | 20 hours | 16 hours | 21 hours | 25 hours | 24 hours |
| Bottom 25% | 12 hours | 12 hours | 12 hours | 10 hours | 16 hours | 15 hours | 17 hours |
| Minimum | 3 hours | 0 hours | 2 hours | 4 hours | 8 hours | 8 hours | 7 hours |
| Count | 142 | 142 | 138 | 122 | 80 | 129 | 130 |
| Average | 21 hours | 20 hours | 23 hours | 19 hours | 24 hours | 30 hours | 26 hours |
| Maximum | 60 hours | 120 hours | 76 hours | 100 hours | 60 hours | 129 hours | 90 hours |
| Top 25% | 25 hours | 25 hours | 30 hours | 23 hours | 30 hours | 40 hours | 30 hours |
| Median | 20 hours | 20 hours | 20 hours | 16 hours | 20 hours | 25 hours | 24 hours |
| Bottom 25% | 12 hours | 12 hours | 12 hours | 10 hours | 15 hours | 16 hours | 17 hours |
| Minimum | 3 hours | 0 hours | 2 hours | 4 hours | 6 hours | 7 hours | 5 hours |

You may want to consider it as you plan your projects. Recall, though, that
this data is self-reported. Your experience might be different from that
Expand Down Expand Up @@ -461,8 +461,8 @@ As you create Maven projects in this repository, you may encounter warnings like

```
[WARNING]
[WARNING] Some problems were encountered while building the effective model for edu.pdx.cs.joy.whitlock:airline:jar:1.0.0
[WARNING] 'parent.relativePath' of POM edu.pdx.cs.joy.whitlock:airline:1.0.0 (JoyOfCodingWinter2025/airline/pom.xml) points at edu.pdx.cs.joy.whitlock:JoyOfCodingWinter2025 instead of io.github.davidwhitlock.joy:joy, please verify your project structure @ line 3, column 11
[WARNING] Some problems were encountered while building the effective model for edu.pdx.cs.joy.whitlock:apptbook:jar:1.0.0
[WARNING] 'parent.relativePath' of POM edu.pdx.cs.joy.whitlock:apptbook:1.0.0 (JoyOfCodingSummer2025/apptbook/pom.xml) points at edu.pdx.cs.joy.whitlock:JoyOfCodingSummer2025 instead of io.github.davidwhitlock.joy:joy, please verify your project structure @ line 3, column 11
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
Expand All @@ -481,7 +481,7 @@ When created, the `pom.xml` files for the projects specify a parent of _my_ top-
<parent>
<artifactId>joy</artifactId>
<groupId>io.github.davidwhitlock.joy</groupId>
<version>1.0.0</version>
<version>1.2.2</version>
</parent>
```

Expand Down Expand Up @@ -570,7 +570,7 @@ Running `mvn site` from the root directory of this repository will
generate a website that provides lots of information (reports, etc.)
about the Maven projects. Note that in order for your multi-project
Maven site to generate correctly, the subprojects must specify that
their parent project is the `JoyOfCodingWinter2025` project in
their parent project is the `JoyOfCodingSummer2025` project in
your group:

```xml
Expand Down Expand Up @@ -613,7 +613,7 @@ You can open `target/staging/index.html` in your web browse to see
what your site will look like.

Verify that your website is available at a URL like:
https://yourgithubuser.github.io/JoyOfCodingWinter2025
https://yourgithubuser.github.io/JoyOfCodingSummer2025

## How can I improve this repository?

Expand Down
2 changes: 1 addition & 1 deletion createFirstProject.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ else
fi
fi

createProjectFromArchetype ${loginId} "airline" "2.2.0"
createProjectFromArchetype ${loginId} "apptbook" "2.2.2"
2 changes: 1 addition & 1 deletion createKataProject.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ fi
projectName=$1
teamName=$2

createProjectFromArchetype ${teamName} "kata" "2.2.0" ${projectName}
createProjectFromArchetype ${teamName} "kata" "2.2.2" ${projectName}
2 changes: 1 addition & 1 deletion createKoansProject.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ else
fi
fi

createProjectFromArchetype ${loginId} "java-koans" "2.2.0" "koans"
createProjectFromArchetype ${loginId} "java-koans" "2.2.2" "koans"
2 changes: 1 addition & 1 deletion createRESTProject.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ else
fi
fi

createProjectFromArchetype ${loginId} "airline-web" "3.0.0"
createProjectFromArchetype ${loginId} "apptbook-web" "3.0.2"
2 changes: 1 addition & 1 deletion createStudentProject.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ else
fi
fi

createProjectFromArchetype ${loginId} "student" "2.3.0"
createProjectFromArchetype ${loginId} "student" "2.3.3"

20 changes: 10 additions & 10 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ accordingly
<parent>
<artifactId>joy</artifactId>
<groupId>io.github.davidwhitlock.joy</groupId>
<version>1.2.0</version>
<version>1.2.2</version>
</parent>
<groupId>edu.pdx.cs.joy.YourUserId</groupId>
<artifactId>JoyOfCoding</artifactId>
<version>1.0.0</version>

<packaging>pom</packaging>
<name>JoyOfCodingWinter2025</name>
<name>JoyOfCodingSummer2025</name>
<description>Source code written in the Summer 2025 offering of The Joy of Coding</description>
<url>http://YourGitHubUserInLowerCase.github.io/JoyOfCodingWinter2025</url>
<url>http://YourGitHubUserInLowerCase.github.io/JoyOfCodingSummer2025</url>

<modules>
</modules>
Expand All @@ -33,7 +33,7 @@ accordingly
</organization>
<issueManagement>
<system>github</system>
<url>https://github.com/YourGitHubUser/JoyOfCodingWinter2025/issues</url>
<url>https://github.com/YourGitHubUser/JoyOfCodingSummer2025/issues</url>
</issueManagement>
<licenses>
<license>
Expand All @@ -59,9 +59,9 @@ accordingly

<repositories>
<repository>
<id>maven-snapshots</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
<layout>default</layout>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
Expand All @@ -76,7 +76,7 @@ accordingly
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<topSiteURL>scm:git:git@github.com:YourGithubUser/JoyOfCodingWinter2025.git</topSiteURL>
<topSiteURL>scm:git:git@github.com:YourGithubUser/JoyOfCodingSummer2025.git</topSiteURL>
</configuration>
</plugin>
<plugin>
Expand All @@ -92,7 +92,7 @@ accordingly
</build>

<scm>
<connection>scm:git:git@github.com:YourGithubUser/JoyOfCodingWinter2025.git</connection>
<connection>scm:git:git@github.com:YourGithubUser/JoyOfCodingSummer2025.git</connection>
</scm>
<distributionManagement>
<snapshotRepository>
Expand All @@ -102,7 +102,7 @@ accordingly
<site>
<id>gh-pages</id>
<name>GitHub Pages</name>
<url>scm:git:git@github.com:YourGithubUser/JoyOfCodingWinter2025.git</url>
<url>scm:git:git@github.com:YourGithubUser/JoyOfCodingSummer2025.git</url>
</site>
</distributionManagement>

Expand Down
4 changes: 2 additions & 2 deletions prerequisites.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ function checkForJava() {

if [[ "$_java" ]]; then
version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}')
minimumVersion="11"
echo You are running Java version "$version"
minimumVersion="21"
echo "You are running Java version \"$version\""
if [[ "$version" > "$minimumVersion" ]]; then
echo This version of Java is sufficient for this course
return 0
Expand Down
2 changes: 1 addition & 1 deletion src/site/site.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</googleSearch>
<sourceLineNumbersEnabled>true</sourceLineNumbersEnabled>
<gitHub>
<projectId>YourGitHubUser/JoyOfCodingWinter2025</projectId>
<projectId>YourGitHubUser/JoyOfCodingSummer2025</projectId>
<ribbonOrientation>right</ribbonOrientation>
<ribbonColor>black</ribbonColor>
</gitHub>
Expand Down
10 changes: 5 additions & 5 deletions submit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ elif [[ "$project" == "koans" ]]; then
directory="koans"
mavenGoals="clean exec:java"

elif [[ "$project" == "Project5" ]]; then
directory="airline-web"
elif [[ "$project" == "Project4" ]]; then
directory="apptbook-web"

elif [[ "$project" == "Project6" ]]; then
directory="airline-android"
elif [[ "$project" == "Project5" ]]; then
directory="apptbook-android"
submitClass="SubmitAndroidProject"
srcDirectory="."

else
directory="airline"
directory="apptbook"
fi

if [ $# -gt 1 ]; then
Expand Down