From d1bece6cfe48e63c0fd66ceb7bc7b6ba6d9981a5 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sat, 25 Apr 2026 19:29:48 +0100 Subject: [PATCH 01/12] Start on java track --- .../en/module/java/entry-criteria/index.md | 42 +++++++++++++++++++ org-cyf/content/tracks/java/_index.md | 9 ++++ .../content/tracks/java/overview/_index.md | 9 ++++ org-cyf/content/tracks/java/prep/index.md | 9 ++++ .../content/tracks/java/sprints/1/_index.md | 9 ++++ .../tracks/java/sprints/1/backlog/index.md | 8 ++++ .../tracks/java/sprints/1/day-plan/index.md | 38 +++++++++++++++++ .../tracks/java/sprints/1/prep/index.md | 18 ++++++++ .../tracks/java/sprints/1/success/index.md | 6 +++ org-cyf/content/tracks/java/success/index.md | 14 +++++++ 10 files changed, 162 insertions(+) create mode 100644 common-content/en/module/java/entry-criteria/index.md create mode 100644 org-cyf/content/tracks/java/_index.md create mode 100644 org-cyf/content/tracks/java/overview/_index.md create mode 100644 org-cyf/content/tracks/java/prep/index.md create mode 100644 org-cyf/content/tracks/java/sprints/1/_index.md create mode 100644 org-cyf/content/tracks/java/sprints/1/backlog/index.md create mode 100644 org-cyf/content/tracks/java/sprints/1/day-plan/index.md create mode 100644 org-cyf/content/tracks/java/sprints/1/prep/index.md create mode 100644 org-cyf/content/tracks/java/sprints/1/success/index.md create mode 100644 org-cyf/content/tracks/java/success/index.md diff --git a/common-content/en/module/java/entry-criteria/index.md b/common-content/en/module/java/entry-criteria/index.md new file mode 100644 index 000000000..b8b2d1e23 --- /dev/null +++ b/common-content/en/module/java/entry-criteria/index.md @@ -0,0 +1,42 @@ ++++ +title = 'Entry Criteria' + +time = 20 +[objectives] + 1='List the entry criteria for the Java module' +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +## 🎯 1. Meet the criteria + +### People + +- [ ] We need at least two trainees to start a module +- [ ] A minimum ratio of 1:6 volunteers to qualifying trainees + +### Skills + +- [ ] Trainees must have completed ???? + +### Space + +- [ ] A place to meet on Saturdays + +### Time + +- [ ] Volunteers and trainees must commit to 5 weeks of Saturday sessions + +### Money + +- [ ] {{}} will pay for trainee expenses like food, bus tickets, equipment and childcare + +### A Plan + +- [ ] Here’s the plan: it’s this module! + When you have all these things, you can start a Java module. + +## 📅 2. Set the date! diff --git a/org-cyf/content/tracks/java/_index.md b/org-cyf/content/tracks/java/_index.md new file mode 100644 index 000000000..f4cdfb277 --- /dev/null +++ b/org-cyf/content/tracks/java/_index.md @@ -0,0 +1,9 @@ ++++ +title = 'Java' +description = 'Learn Java' +layout = 'module' +emoji="🤖" +track_kinds = ["guided-study-after-itp"] +menu="Java" +weight = 1 ++++ diff --git a/org-cyf/content/tracks/java/overview/_index.md b/org-cyf/content/tracks/java/overview/_index.md new file mode 100644 index 000000000..5ee7d7d0f --- /dev/null +++ b/org-cyf/content/tracks/java/overview/_index.md @@ -0,0 +1,9 @@ ++++ +title = "Course overview" +layout = "overview" +overview_menu = "java" ++++ + +## Objective + +Learn Java!! \ No newline at end of file diff --git a/org-cyf/content/tracks/java/prep/index.md b/org-cyf/content/tracks/java/prep/index.md new file mode 100644 index 000000000..3121b0676 --- /dev/null +++ b/org-cyf/content/tracks/java/prep/index.md @@ -0,0 +1,9 @@ +title = 'prep' +description = 'This work must be done to prepare for this module' +layout = 'prep' +menu_level = ['module'] +weight = 1 +[[blocks]] +src='module/java/entry-criteria' +name="Entry Criteria" ++++ diff --git a/org-cyf/content/tracks/java/sprints/1/_index.md b/org-cyf/content/tracks/java/sprints/1/_index.md new file mode 100644 index 000000000..8b7024840 --- /dev/null +++ b/org-cyf/content/tracks/java/sprints/1/_index.md @@ -0,0 +1,9 @@ ++++ +title = 'Java Sprint 1' +description = 'Introduction to the IDE, basic java concepts & debugging' +layout = 'sprint' +menu_level = ['module'] +menu=['sprints'] +weight = 2 +theme = "Introduction to Java" ++++ diff --git a/org-cyf/content/tracks/java/sprints/1/backlog/index.md b/org-cyf/content/tracks/java/sprints/1/backlog/index.md new file mode 100644 index 000000000..46be380e4 --- /dev/null +++ b/org-cyf/content/tracks/java/sprints/1/backlog/index.md @@ -0,0 +1,8 @@ ++++ +title = 'backlog' +layout = 'backlog' +menu_level = ['sprint'] +weight = 2 +backlog= 'Track-AI-Essentials' +backlog_filter= '📅 Sprint 1' ++++ diff --git a/org-cyf/content/tracks/java/sprints/1/day-plan/index.md b/org-cyf/content/tracks/java/sprints/1/day-plan/index.md new file mode 100644 index 000000000..0282f89a3 --- /dev/null +++ b/org-cyf/content/tracks/java/sprints/1/day-plan/index.md @@ -0,0 +1,38 @@ ++++ +title = 'day-plan' +layout = 'day-plan' +menu_level = ['sprint'] +weight = 3 +[[blocks]] +name="Team Meeting" +src="blocks/ai-essentials/team-meeting" +time=20 +[[blocks]] +name="Energiser" +src="energisers/zip-zap-boing" +time=20 +[[blocks]] +name="Morning" +src="blocks/ai-essentials/workshop" +time=60 +[[blocks]] +name="Module 1: Introduction to AI" +src="https://www.coursera.org/learn/google-ai-essentials#modules" +caption="Discover how AI works and explore foundational AI concepts, such as machine learning (ML). Learn about the rise of generative AI and how to perform tasks with it. By the end of this module, you’ll have an understanding of the capabilities and limitations of AI tools and how to integrate generative AI in the workplace." +[[blocks]] +name="Morning Break" +src="blocks/morning-break" +time=15 +[[blocks]] +name="Afternoon" +src="blocks/ai-essentials/workshop" +time=75 +[[blocks]] +name="Module 2: Maximize Productivity with AI Tools" +src="https://www.coursera.org/learn/google-ai-essentials#modules" +caption="Leverage generative AI tools to speed up work tasks and boost your productivity. Examine the important role humans play in the effective use of AI, and understand the types of workplace tasks you can augment with AI. By the end of this module, you will be able to determine if AI is right for a given task and how to use AI to accelerate workflows." +[[blocks]] +name="Wrap" +src="blocks/wrap" +time=15 ++++ diff --git a/org-cyf/content/tracks/java/sprints/1/prep/index.md b/org-cyf/content/tracks/java/sprints/1/prep/index.md new file mode 100644 index 000000000..c24bb1d21 --- /dev/null +++ b/org-cyf/content/tracks/java/sprints/1/prep/index.md @@ -0,0 +1,18 @@ ++++ +title = 'prep' +layout = 'prep' +menu_level = ['sprint'] +weight = 1 +[[blocks]] +name="Prep for this class" +src="module/entry-tracks/preparation" +[[blocks]] +name="Module 1: Introduction to AI" +src="https://github.com/CodeYourFuture/Track-AI-Essentials/issues/2" +[[blocks]] +name="Module 2: Maximize Productivity with AI Tools" +src="https://github.com/CodeYourFuture/Track-AI-Essentials/issues/3" +[[blocks]] +name="Read the day plan" +src="module/entry-tracks/read-the-day-plan" ++++ diff --git a/org-cyf/content/tracks/java/sprints/1/success/index.md b/org-cyf/content/tracks/java/sprints/1/success/index.md new file mode 100644 index 000000000..59cb76609 --- /dev/null +++ b/org-cyf/content/tracks/java/sprints/1/success/index.md @@ -0,0 +1,6 @@ ++++ +title = "End of Sprint Review" +layout = 'success' +menu_level = ['sprint'] +weight = 4 ++++ diff --git a/org-cyf/content/tracks/java/success/index.md b/org-cyf/content/tracks/java/success/index.md new file mode 100644 index 000000000..737c865ce --- /dev/null +++ b/org-cyf/content/tracks/java/success/index.md @@ -0,0 +1,14 @@ ++++ +title = "End of Module Review" +description = 'How do we know if we have completed this track?' +layout = 'success' +menu_level = ['module'] +menu=['success criteria'] +weight = 11 +[[objectives]] +1="Explain the basics of Java" +2="Use Java" ++++ + +The learning objectives are listed per sprint. You will know you have completed this module when you have met all the objectives for each sprint and have demonstrated the overall objectives on this page. + From 23cd8bfbef725dad8b3af16f788f0812e4abbc10 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 26 Apr 2026 11:21:31 +0100 Subject: [PATCH 02/12] More work on Java track --- .../module/java/sprint-1/section-1/index.md | 51 ++++++++++++ .../module/java/sprint-1/section-2/index.md | 77 +++++++++++++++++++ .../module/java/sprint-1/section-3/index.md | 46 +++++++++++ .../module/java/sprint-1/section-4/index.md | 55 +++++++++++++ .../tracks/java/sprints/1/backlog/index.md | 2 +- .../tracks/java/sprints/1/prep/index.md | 14 +++- .../tracks/java/sprints/1/success/index.md | 12 +++ 7 files changed, 252 insertions(+), 5 deletions(-) create mode 100644 common-content/en/module/java/sprint-1/section-1/index.md create mode 100644 common-content/en/module/java/sprint-1/section-2/index.md create mode 100644 common-content/en/module/java/sprint-1/section-3/index.md create mode 100644 common-content/en/module/java/sprint-1/section-4/index.md diff --git a/common-content/en/module/java/sprint-1/section-1/index.md b/common-content/en/module/java/sprint-1/section-1/index.md new file mode 100644 index 000000000..516afbdbd --- /dev/null +++ b/common-content/en/module/java/sprint-1/section-1/index.md @@ -0,0 +1,51 @@ ++++ +title = 'Section 1: Getting Started with the IDE and main methods' + +time = 120 +[objectives] + 1='Install and set up IntelliJ IDEA.' + 2='Navigate the IDE interface: project explorer, editor, console, and debugger.' + 3='Create a basic Java project and run a simple program.' + 4='Explain the role of the main method in Java applications.' +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ +# Section 1: Getting Started with the IDE and main methods + +## Why Java and How It Differs from JavaScript +Before diving in, let’s set the stage. Java and other programming languages such as JavaScript share some conceptual similarities—e.g. the use of loops, conditionals, and functions—but Java has its own syntax, type systems, and execution models. Java is a statically typed, compiled language, which means you’ll encounter concepts like compilation errors and method signatures that don’t exist in scripting languages like JavaScript. This sprint will help you make that mental shift. + +## Overview +An IDE (Integrated Development Environment) is your main tool for Java development. It simplifies tasks like writing code, compiling, debugging, and managing dependencies. +Every Java application starts with a main method. Understanding its role and how methods are structured is key to writing functional programs. The main method is the entry point of every Java application. + +## Self Study +As you read through the resources below try to answer the following questions: +1. You've probably used an IDE before when coding in other languages - what makes an IDE particularly useful when coding in Java? +2. What is a Java main method for? +3. What are some differences between how a program is run in Java vs other languages you've seen before? + +### Reading material +- [Introduction to Java](https://www.w3schools.com/java/java_intro.asp) +- [Interpreted vs Compiled Programming Languages](https://www.freecodecamp.org/news/compiled-versus-interpreted-languages/) +- [Getting started with IntelliJ IDEA](https://www.jetbrains.com/help/idea/getting-started.html) +- [Top 5 reasons you need an IDE](https://medium.com/@synergenttechsolution30/java-ides-top-5-reasons-you-need-an-ides-95426a0e6d5a) +- [Java main() Method Explained](https://www.baeldung.com/java-main-method) + +### Exercise 1.1 +Goal: Get comfortable with IntelliJ and running Java code. +- Install IntelliJ IDEA and create a new Java project. +- Create a main method and add logic so that it prints: "Hello, Java!" +- You'll need to Google for how to print to the console in Java! +- Run the program from the IDE. + +## Reflections +Think about the following questions, make notes and be prepared to talk through your thoughts on the Saturday. +- Share three useful Intellij keyboard shortcuts +- Getting familiar with keyboard shortcuts will save you lots of time and improve your flow when writing code - it's well worth taking the time to learn! +- If you rename your main method will it still run? +- What do the keywords public, static and void mean? + diff --git a/common-content/en/module/java/sprint-1/section-2/index.md b/common-content/en/module/java/sprint-1/section-2/index.md new file mode 100644 index 000000000..41a0d4bad --- /dev/null +++ b/common-content/en/module/java/sprint-1/section-2/index.md @@ -0,0 +1,77 @@ ++++ +title = 'Section 2: Java keywords and syntax' + +time = 120 +[objectives] + 1=Identify Java reserved keywords in an IDE + 2=Explain and use common keywords like public, private, static, void, for, if, and primitive types + 3=Declare variables and print them out to the console. + 4=Write a conditional statement + 5=Write a for loop and a switch statement + 6=Explain the trade-offs between switch statements and if/else statements +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ +# Section 2: Java keywords and syntax +Java has strict syntax rules and reserved keywords that define its structure. Understanding these early will prevent common errors. + +Compilation is the process of converting the Java code you write into a format that your computer can execute. Compile time is when Java checks your code for errors before running your program, which is different from languages like Python or JavaScript that check for errors while the program is actually running. This provides us with the significant benefit of being able to spot (some!) errors without running the code. It also means Java IDEs come with a set of powerful tools to aid development. + +Java has two types of data type: primitive and reference. Without going into too much detail right now, primitive types are usually much faster for the computer to deal with and should be used in situations where performance is important. Moreover, the primitive types are the basic 'building blocks' of Java and all reference types are ultimately made up of primitive types. You can identify primitive types because they are always in lowercase, unlike reference types which are in UpperCamelCase. The primitive types are defined by the Java language itself and we cannot create any new ones ourselves or change any existing ones. We'll focus on the following primitive types for now: +- int +- long +- double +- boolean +- char +Java is a statically typed language, which means that variable types are known at compile time. As such, the type must be provided by the programmer when writing the code. +For example, if you are to define a string, you must explicitly state that the variable is of type string: + +``` +String myVariable = "hello world"; +``` + +## Self Study +As you read through the resources below try to answer the following questions: +1. What is a keyword in java? +1. Choose 3 keywords and explain what they represent +2. What is meant by the term 'primitive type'? + +### Reading material +- [Dynamic vs. static typing](https://docs.oracle.com/cd/E57471_01/bigData.100/extensions_bdd/src/cext_transform_typing.html) +- [Java keywords with explanations](https://www.w3schools.com/java/java_ref_keywords.asp) +- [Java Primitives](https://www.baeldung.com/java-primitives) +- [Java For Loop](https://www.baeldung.com/java-for-loop) +- [Decision Making in Java - Conditional Statements](https://www.geeksforgeeks.org/java/decision-making-javaif-else-switch-break-continue-jump/) + +### Exercise 2.1: +Goal: Practice basic syntax and keywords. +Create a program that: +- Declares variables of different primitive types (int, double, boolean, char). +- Prints their values to the console. +- Add comments explaining what each keyword does (e.g., public, static, void). + +### Exercise 2.2: +Goal: Identify and fix compilation errors. +- Remove a semicolon or misspell a keyword in your code. +- Observe the compilation error in IntelliJ. +- Fix the error and re-run the program + +### Exercise 2.2 +Goal: Compare Java control flow with JavaScript. +Write a program that: +- Uses a for loop to print numbers 1 to 10. +- Uses an if-else statement to check if a number is even or odd. +- Bonus: Rewrite the same logic in JavaScript and note the differences in syntax. + +### Exercise 2.3: +- Write a program that uses a switch statement to print the name of the day based on an integer (1 = Monday, etc.). +- Explain why switch in Java differs from JavaScript (e.g. type safety). + +## Reflections +Think about the following questions, make notes and be prepared to talk through your thoughts in the workshop. +- List the primitive types you've seen and explain what they represent +- What is an enhanced for loop in Java? Would an enhanced for loop be useful for this exercise? Why? When would an enhanced for loop be useful? +- Did you encounter any compilation errors when writing your code? How did you fix them? Did the IDE help? diff --git a/common-content/en/module/java/sprint-1/section-3/index.md b/common-content/en/module/java/sprint-1/section-3/index.md new file mode 100644 index 000000000..c39ed9fc8 --- /dev/null +++ b/common-content/en/module/java/sprint-1/section-3/index.md @@ -0,0 +1,46 @@ ++++ +title = 'Section 3: Method Signatures' + +time = 120 +[objectives] + 1=Write methods and explain the structure and components of method signatures. + 2=Write and run custom methods with parameters and return types. + 3=Document methods using JavaDoc +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +# Section 3: Method Signatures +Understanding method signatures is essential for ensuring the code is readable & maintainable. When writing code, we should expect that someone else will need to understand and adapt it - we work in teams, not in isolation. Therefore, it's important to write code that is clear and understandable. +It's important when writing Java code to document classes and methods so others understand the intended purpose of the code, this can been done with JavaDoc - have a read through how to format different types of JavaDoc. + +## Self Study +As you read through the resources below try to answer the following questions: +1. What are the components of a method signature? Are any of them optional? +2. What is Javadoc? Who is it for and why is it useful? + +### Reading material +- [Introduction to methods in Java](https://www.baeldung.com/java-methods) +- [Method signatures in Java](https://www.baeldung.com/java-main-method) +- [Writing Java methods](https://www.w3schools.com/java/java_methods.asp) +- [Introduction to JavaDoc](https://www.baeldung.com/javadoc) + +### Exercise 3.1 +Goal: Write a method signature which takes parameters. +- Create a private method called greetUser that: +- Accepts a String name as a parameter. +- Returns a greeting message like "Hello, Alice!". +- Call this method from a main method and print the result. +- Explain each part of the method signature for the name method. + +### Exercise 3.2 +- Create a method calculateSum that takes two integers and returns their sum. +- Add JavaDoc comments explaining the method. + +## Reflections +Think about the following questions, make notes and be prepared to talk through your thoughts in the workshop. +- Why are private methods useful? Why not just have everything in the main method? +- Javadoc should describe the why not the what of your code - why? diff --git a/common-content/en/module/java/sprint-1/section-4/index.md b/common-content/en/module/java/sprint-1/section-4/index.md new file mode 100644 index 000000000..c415d7307 --- /dev/null +++ b/common-content/en/module/java/sprint-1/section-4/index.md @@ -0,0 +1,55 @@ ++++ +title = 'Section 4: Debugging Java Code Using the IDE' + +time = 120 +[objectives] + 1=Use debugging tools in the IDE to fix runtime issues + 2=Set breakpoints and inspect variables. + 3=Step through code execution to identify logic errors. +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +# Section 4: Debugging Java Code Using the IDE +Debugging is an essential skill for any developer. IntelliJ provides powerful tools to help you find and fix issues quickly. In your IDE, there are two ways to run a program: +- Run +- Debug + +If you use the debug option, you will be able to set breakpoints at which the program will pause execution. When the program stops on a breakpoint, you can: +- View the value of all variables that are in scope +- View the current execution stack +- Evaluate a specific piece of code +- Step line-by-line through the code + +When stepping through code, you can: +- Step over: steps over the next single line +- Step into: step into a method that is being invoked on the current line +- Run to cursor: continues execution until it reaches the cursor +- Evaluate: evaluates a selected portion of code. You can also write arbitrary code to evaluate. + +## Self Study +As you read through the resources below try to answer the following questions: +- What are some Intellij shortcuts to help with debugging? +- How does debugging in Java compare to debugging you've seen in other languages? + +### Reading material +- [Introduction to debugging in Java](https://www.w3schools.com/java/java_debugging.asp) +- [Debugging a Java application with IntelliJ](https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html) +- [Understanding compilation](https://www.baeldung.com/java-compiled-interpreted) + +### Exercise 4.1: +Goal: Learn to use breakpoints and inspect variables. +- Write a program that calculates the sum of numbers from 1 to 100 and prints the result +- Introduce a bug (e.g., start the loop at -1 instead of 1). +- Use IntelliJ’s debugger to: +- Set a breakpoint inside the loop. +- Inspect the value of the sum variable and the result variable, seeing how they change as you step through. +- Step through the code to find the error. + +## Reflections +Think about the following questions, make notes and be prepared to talk through your thoughts in the workshop. +- How might you have found the issue if you didn't have a debugger? +- What was the process you followed when debugging code? e.g. how did you decide where to put breakpoints? diff --git a/org-cyf/content/tracks/java/sprints/1/backlog/index.md b/org-cyf/content/tracks/java/sprints/1/backlog/index.md index 46be380e4..79a504826 100644 --- a/org-cyf/content/tracks/java/sprints/1/backlog/index.md +++ b/org-cyf/content/tracks/java/sprints/1/backlog/index.md @@ -3,6 +3,6 @@ title = 'backlog' layout = 'backlog' menu_level = ['sprint'] weight = 2 -backlog= 'Track-AI-Essentials' +backlog= 'Track-Java' backlog_filter= '📅 Sprint 1' +++ diff --git a/org-cyf/content/tracks/java/sprints/1/prep/index.md b/org-cyf/content/tracks/java/sprints/1/prep/index.md index c24bb1d21..5aa6dd068 100644 --- a/org-cyf/content/tracks/java/sprints/1/prep/index.md +++ b/org-cyf/content/tracks/java/sprints/1/prep/index.md @@ -7,11 +7,17 @@ weight = 1 name="Prep for this class" src="module/entry-tracks/preparation" [[blocks]] -name="Module 1: Introduction to AI" -src="https://github.com/CodeYourFuture/Track-AI-Essentials/issues/2" +name="Section 1: Getting Started with the IDE and main methods" +src="common-content/en/module/java/sprint-1/section-1" [[blocks]] -name="Module 2: Maximize Productivity with AI Tools" -src="https://github.com/CodeYourFuture/Track-AI-Essentials/issues/3" +name="Section 2: Java keywords and syntax" +src="common-content/en/module/java/sprint-1/section-2" +[[blocks]] +name="Section 3: Method Signatures" +src="common-content/en/module/java/sprint-1/section-3" +[[blocks]] +name="Section 4: Debugging Java Code Using the IDE" +src="common-content/en/module/java/sprint-1/section-4" [[blocks]] name="Read the day plan" src="module/entry-tracks/read-the-day-plan" diff --git a/org-cyf/content/tracks/java/sprints/1/success/index.md b/org-cyf/content/tracks/java/sprints/1/success/index.md index 59cb76609..953a6215d 100644 --- a/org-cyf/content/tracks/java/sprints/1/success/index.md +++ b/org-cyf/content/tracks/java/sprints/1/success/index.md @@ -4,3 +4,15 @@ layout = 'success' menu_level = ['sprint'] weight = 4 +++ + +Welcome to Sprint 1! In this sprint, you’ll take your first steps into Java development. Since you already have experience with programming concepts from the CodeYourFuture curriculum, we’ll focus on bridging your existing knowledge (mostly in JavaScript) with Java’s syntax and tools. The goal of the sprint is to get you writing, running, and debugging Java applications quickly, without diving too deeply into computer science theory or Java Virtual Machine (JVM) internals. +By the end of this sprint, you’ll be comfortable setting up a Java project in an IDE, running your first program, and understanding the basics of Java syntax and structure. + +[[objectives]] + 1=Import a Java project into an Integrated Development Environment (IDE) and run a Java 2=application + 3=Explain what a main method is and why it’s required + 4=Identify non-compiling code an IDE and use the IDE error analysis to explain common compilation errors + 4=Write basic Java logic using common coding concepts such as loops and conditionals, including using common Java keywords, primitive types, and syntax + 5=Write a method signature and explain each of the components that form it: visibility, name, parameters + 6=Import a project into an IDE and run it + 7=Use debugging tools in an IDE to troubleshoot code. From a292de81ca06f66d1c959c8e539aedda14ec9119 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 26 Apr 2026 11:34:07 +0100 Subject: [PATCH 03/12] Add day plan --- common-content/en/module/java/demo/index.md | 2 + common-content/en/module/java/review/index.md | 4 ++ .../tracks/java/sprints/1/day-plan/index.md | 43 +++++++++---------- 3 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 common-content/en/module/java/demo/index.md create mode 100644 common-content/en/module/java/review/index.md diff --git a/common-content/en/module/java/demo/index.md b/common-content/en/module/java/demo/index.md new file mode 100644 index 000000000..00fe16ef9 --- /dev/null +++ b/common-content/en/module/java/demo/index.md @@ -0,0 +1,2 @@ +# Demo +Demo a main method and talk through each of the components that make up a method signature → this could be your solution to an exercise, or something completely new! \ No newline at end of file diff --git a/common-content/en/module/java/review/index.md b/common-content/en/module/java/review/index.md new file mode 100644 index 000000000..ba9efa29d --- /dev/null +++ b/common-content/en/module/java/review/index.md @@ -0,0 +1,4 @@ +# Review +- Share solutions to exercises → share code, talk through what you've done to the group, ask questions and discuss alternative solutions / tradeoffs etc +- Discuss reflections for each exercise (these are listed under Reflections sections in Prep) → there is no right or wrong answers here, this is a chance to consolidate what you've learnt and analyse / challenge the various patterns and principles covered in this sprint. +- Please write your answers to the reflection questions as you are completing the corresponding exercises - don't wait until the last minute before class! diff --git a/org-cyf/content/tracks/java/sprints/1/day-plan/index.md b/org-cyf/content/tracks/java/sprints/1/day-plan/index.md index 0282f89a3..565b93e03 100644 --- a/org-cyf/content/tracks/java/sprints/1/day-plan/index.md +++ b/org-cyf/content/tracks/java/sprints/1/day-plan/index.md @@ -4,35 +4,32 @@ layout = 'day-plan' menu_level = ['sprint'] weight = 3 [[blocks]] -name="Team Meeting" -src="blocks/ai-essentials/team-meeting" -time=20 -[[blocks]] name="Energiser" -src="energisers/zip-zap-boing" -time=20 +src="blocks/energiser" [[blocks]] -name="Morning" -src="blocks/ai-essentials/workshop" -time=60 +name="Morning orientation" +src="blocks/morning-orientation" +time=15 [[blocks]] -name="Module 1: Introduction to AI" -src="https://www.coursera.org/learn/google-ai-essentials#modules" -caption="Discover how AI works and explore foundational AI concepts, such as machine learning (ML). Learn about the rise of generative AI and how to perform tasks with it. By the end of this module, you’ll have an understanding of the capabilities and limitations of AI tools and how to integrate generative AI in the workplace." +name="Review" +src="module/java/review" +time=60 [[blocks]] -name="Morning Break" +name="Morning break" src="blocks/morning-break" -time=15 +time=20 [[blocks]] -name="Afternoon" -src="blocks/ai-essentials/workshop" -time=75 +name="Demo" +src="module/java/demo" +time=60 [[blocks]] -name="Module 2: Maximize Productivity with AI Tools" -src="https://www.coursera.org/learn/google-ai-essentials#modules" -caption="Leverage generative AI tools to speed up work tasks and boost your productivity. Examine the important role humans play in the effective use of AI, and understand the types of workplace tasks you can augment with AI. By the end of this module, you will be able to determine if AI is right for a given task and how to use AI to accelerate workflows." +name="lunch" +src="blocks/lunch" [[blocks]] -name="Wrap" -src="blocks/wrap" -time=15 +name="Study Group" +src="blocks/study-group" +time="150" +[[blocks]] +name="Retro" +src="blocks/retro" +++ From 755421732a250cd1c2e77be9d61a87d72a75f44e Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 26 Apr 2026 11:39:52 +0100 Subject: [PATCH 04/12] Add in forgotton quotes --- .../en/module/java/sprint-1/section-2/index.md | 12 ++++++------ .../en/module/java/sprint-1/section-3/index.md | 6 +++--- .../en/module/java/sprint-1/section-4/index.md | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/common-content/en/module/java/sprint-1/section-2/index.md b/common-content/en/module/java/sprint-1/section-2/index.md index 41a0d4bad..c0db89d63 100644 --- a/common-content/en/module/java/sprint-1/section-2/index.md +++ b/common-content/en/module/java/sprint-1/section-2/index.md @@ -3,12 +3,12 @@ title = 'Section 2: Java keywords and syntax' time = 120 [objectives] - 1=Identify Java reserved keywords in an IDE - 2=Explain and use common keywords like public, private, static, void, for, if, and primitive types - 3=Declare variables and print them out to the console. - 4=Write a conditional statement - 5=Write a for loop and a switch statement - 6=Explain the trade-offs between switch statements and if/else statements + 1='Identify Java reserved keywords in an IDE' + 2='Explain and use common keywords like public, private, static, void, for, if, and primitive types' + 3='Declare variables and print them out to the console.' + 4='Write a conditional statement' + 5='Write a for loop and a switch statement' + 6='Explain the trade-offs between switch statements and if/else statements' [build] render = 'never' list = 'local' diff --git a/common-content/en/module/java/sprint-1/section-3/index.md b/common-content/en/module/java/sprint-1/section-3/index.md index c39ed9fc8..8085db4e9 100644 --- a/common-content/en/module/java/sprint-1/section-3/index.md +++ b/common-content/en/module/java/sprint-1/section-3/index.md @@ -3,9 +3,9 @@ title = 'Section 3: Method Signatures' time = 120 [objectives] - 1=Write methods and explain the structure and components of method signatures. - 2=Write and run custom methods with parameters and return types. - 3=Document methods using JavaDoc + 1='Write methods and explain the structure and components of method signatures.' + 2='Write and run custom methods with parameters and return types.' + 3='Document methods using JavaDoc' [build] render = 'never' list = 'local' diff --git a/common-content/en/module/java/sprint-1/section-4/index.md b/common-content/en/module/java/sprint-1/section-4/index.md index c415d7307..a96a5bb61 100644 --- a/common-content/en/module/java/sprint-1/section-4/index.md +++ b/common-content/en/module/java/sprint-1/section-4/index.md @@ -3,9 +3,9 @@ title = 'Section 4: Debugging Java Code Using the IDE' time = 120 [objectives] - 1=Use debugging tools in the IDE to fix runtime issues - 2=Set breakpoints and inspect variables. - 3=Step through code execution to identify logic errors. + 1='Use debugging tools in the IDE to fix runtime issues' + 2='Set breakpoints and inspect variables.' + 3='Step through code execution to identify logic errors.' [build] render = 'never' list = 'local' From 987c3fce5245be67c704d8f1f93e356539686729 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 26 Apr 2026 11:43:25 +0100 Subject: [PATCH 05/12] fix --- org-cyf/content/tracks/java/sprints/1/backlog/index.md | 2 +- org-cyf/content/tracks/java/sprints/1/prep/index.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/org-cyf/content/tracks/java/sprints/1/backlog/index.md b/org-cyf/content/tracks/java/sprints/1/backlog/index.md index 79a504826..1282a34fd 100644 --- a/org-cyf/content/tracks/java/sprints/1/backlog/index.md +++ b/org-cyf/content/tracks/java/sprints/1/backlog/index.md @@ -3,6 +3,6 @@ title = 'backlog' layout = 'backlog' menu_level = ['sprint'] weight = 2 -backlog= 'Track-Java' +backlog= 'Module-Java' backlog_filter= '📅 Sprint 1' +++ diff --git a/org-cyf/content/tracks/java/sprints/1/prep/index.md b/org-cyf/content/tracks/java/sprints/1/prep/index.md index 5aa6dd068..1c96999ac 100644 --- a/org-cyf/content/tracks/java/sprints/1/prep/index.md +++ b/org-cyf/content/tracks/java/sprints/1/prep/index.md @@ -8,16 +8,16 @@ name="Prep for this class" src="module/entry-tracks/preparation" [[blocks]] name="Section 1: Getting Started with the IDE and main methods" -src="common-content/en/module/java/sprint-1/section-1" +src="module/java/sprint-1/section-1" [[blocks]] name="Section 2: Java keywords and syntax" -src="common-content/en/module/java/sprint-1/section-2" +src="module/java/sprint-1/section-2" [[blocks]] name="Section 3: Method Signatures" -src="common-content/en/module/java/sprint-1/section-3" +src="module/java/sprint-1/section-3" [[blocks]] name="Section 4: Debugging Java Code Using the IDE" -src="common-content/en/module/java/sprint-1/section-4" +src="module/java/sprint-1/section-4" [[blocks]] name="Read the day plan" src="module/entry-tracks/read-the-day-plan" From 317065149b7c7c69ba041c36ebb4c2d3509e6208 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Mon, 27 Apr 2026 23:38:39 +0100 Subject: [PATCH 06/12] Fix --- org-cyf/content/tracks/java/overview/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-cyf/content/tracks/java/overview/_index.md b/org-cyf/content/tracks/java/overview/_index.md index 5ee7d7d0f..0945aacad 100644 --- a/org-cyf/content/tracks/java/overview/_index.md +++ b/org-cyf/content/tracks/java/overview/_index.md @@ -1,7 +1,7 @@ +++ title = "Course overview" layout = "overview" -overview_menu = "java" +overview_menu = "Java" +++ ## Objective From 625989448570baa693d677526342ef96696c0dcc Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 3 May 2026 13:35:33 +0100 Subject: [PATCH 07/12] Remove duplicate headers --- common-content/en/module/java/sprint-1/section-1/index.md | 1 - common-content/en/module/java/sprint-1/section-2/index.md | 2 +- common-content/en/module/java/sprint-1/section-3/index.md | 1 - common-content/en/module/java/sprint-1/section-4/index.md | 1 - 4 files changed, 1 insertion(+), 4 deletions(-) diff --git a/common-content/en/module/java/sprint-1/section-1/index.md b/common-content/en/module/java/sprint-1/section-1/index.md index 516afbdbd..2baacff46 100644 --- a/common-content/en/module/java/sprint-1/section-1/index.md +++ b/common-content/en/module/java/sprint-1/section-1/index.md @@ -13,7 +13,6 @@ time = 120 publishResources = false +++ -# Section 1: Getting Started with the IDE and main methods ## Why Java and How It Differs from JavaScript Before diving in, let’s set the stage. Java and other programming languages such as JavaScript share some conceptual similarities—e.g. the use of loops, conditionals, and functions—but Java has its own syntax, type systems, and execution models. Java is a statically typed, compiled language, which means you’ll encounter concepts like compilation errors and method signatures that don’t exist in scripting languages like JavaScript. This sprint will help you make that mental shift. diff --git a/common-content/en/module/java/sprint-1/section-2/index.md b/common-content/en/module/java/sprint-1/section-2/index.md index c0db89d63..f5c49b189 100644 --- a/common-content/en/module/java/sprint-1/section-2/index.md +++ b/common-content/en/module/java/sprint-1/section-2/index.md @@ -15,7 +15,7 @@ time = 120 publishResources = false +++ -# Section 2: Java keywords and syntax + Java has strict syntax rules and reserved keywords that define its structure. Understanding these early will prevent common errors. Compilation is the process of converting the Java code you write into a format that your computer can execute. Compile time is when Java checks your code for errors before running your program, which is different from languages like Python or JavaScript that check for errors while the program is actually running. This provides us with the significant benefit of being able to spot (some!) errors without running the code. It also means Java IDEs come with a set of powerful tools to aid development. diff --git a/common-content/en/module/java/sprint-1/section-3/index.md b/common-content/en/module/java/sprint-1/section-3/index.md index 8085db4e9..29524b02f 100644 --- a/common-content/en/module/java/sprint-1/section-3/index.md +++ b/common-content/en/module/java/sprint-1/section-3/index.md @@ -13,7 +13,6 @@ time = 120 +++ -# Section 3: Method Signatures Understanding method signatures is essential for ensuring the code is readable & maintainable. When writing code, we should expect that someone else will need to understand and adapt it - we work in teams, not in isolation. Therefore, it's important to write code that is clear and understandable. It's important when writing Java code to document classes and methods so others understand the intended purpose of the code, this can been done with JavaDoc - have a read through how to format different types of JavaDoc. diff --git a/common-content/en/module/java/sprint-1/section-4/index.md b/common-content/en/module/java/sprint-1/section-4/index.md index a96a5bb61..f307afd81 100644 --- a/common-content/en/module/java/sprint-1/section-4/index.md +++ b/common-content/en/module/java/sprint-1/section-4/index.md @@ -13,7 +13,6 @@ time = 120 +++ -# Section 4: Debugging Java Code Using the IDE Debugging is an essential skill for any developer. IntelliJ provides powerful tools to help you find and fix issues quickly. In your IDE, there are two ways to run a program: - Run - Debug From efb7b13353142f152cb32c5ca667ed3332a56d48 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 3 May 2026 13:41:27 +0100 Subject: [PATCH 08/12] Change formating of objectives --- .../en/module/java/sprint-1/section-1/index.md | 11 ++++++----- .../en/module/java/sprint-1/section-2/index.md | 15 ++++++++------- .../en/module/java/sprint-1/section-3/index.md | 9 +++++---- .../en/module/java/sprint-1/section-4/index.md | 9 +++++---- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/common-content/en/module/java/sprint-1/section-1/index.md b/common-content/en/module/java/sprint-1/section-1/index.md index 2baacff46..a92cdef74 100644 --- a/common-content/en/module/java/sprint-1/section-1/index.md +++ b/common-content/en/module/java/sprint-1/section-1/index.md @@ -2,11 +2,12 @@ title = 'Section 1: Getting Started with the IDE and main methods' time = 120 -[objectives] - 1='Install and set up IntelliJ IDEA.' - 2='Navigate the IDE interface: project explorer, editor, console, and debugger.' - 3='Create a basic Java project and run a simple program.' - 4='Explain the role of the main method in Java applications.' +[objectives] = [ + 'Install and set up IntelliJ IDEA.', + 'Navigate the IDE interface: project explorer, editor, console, and debugger.', + 'Create a basic Java project and run a simple program.', + 'Explain the role of the main method in Java applications.' +] [build] render = 'never' list = 'local' diff --git a/common-content/en/module/java/sprint-1/section-2/index.md b/common-content/en/module/java/sprint-1/section-2/index.md index f5c49b189..ba268b2f1 100644 --- a/common-content/en/module/java/sprint-1/section-2/index.md +++ b/common-content/en/module/java/sprint-1/section-2/index.md @@ -2,13 +2,14 @@ title = 'Section 2: Java keywords and syntax' time = 120 -[objectives] - 1='Identify Java reserved keywords in an IDE' - 2='Explain and use common keywords like public, private, static, void, for, if, and primitive types' - 3='Declare variables and print them out to the console.' - 4='Write a conditional statement' - 5='Write a for loop and a switch statement' - 6='Explain the trade-offs between switch statements and if/else statements' +[objectives] = [ + 'Identify Java reserved keywords in an IDE', + 'Explain and use common keywords like public, private, static, void, for, if, and primitive types', + 'Declare variables and print them out to the console.', + 'Write a conditional statement', + 'Write a for loop and a switch statement', + 'Explain the trade-offs between switch statements and if/else statements' +] [build] render = 'never' list = 'local' diff --git a/common-content/en/module/java/sprint-1/section-3/index.md b/common-content/en/module/java/sprint-1/section-3/index.md index 29524b02f..b104a8294 100644 --- a/common-content/en/module/java/sprint-1/section-3/index.md +++ b/common-content/en/module/java/sprint-1/section-3/index.md @@ -2,10 +2,11 @@ title = 'Section 3: Method Signatures' time = 120 -[objectives] - 1='Write methods and explain the structure and components of method signatures.' - 2='Write and run custom methods with parameters and return types.' - 3='Document methods using JavaDoc' +[objectives] = [ + 'Write methods and explain the structure and components of method signatures.', + 'Write and run custom methods with parameters and return types.', + 'Document methods using JavaDoc' +] [build] render = 'never' list = 'local' diff --git a/common-content/en/module/java/sprint-1/section-4/index.md b/common-content/en/module/java/sprint-1/section-4/index.md index f307afd81..b6de8888d 100644 --- a/common-content/en/module/java/sprint-1/section-4/index.md +++ b/common-content/en/module/java/sprint-1/section-4/index.md @@ -2,10 +2,11 @@ title = 'Section 4: Debugging Java Code Using the IDE' time = 120 -[objectives] - 1='Use debugging tools in the IDE to fix runtime issues' - 2='Set breakpoints and inspect variables.' - 3='Step through code execution to identify logic errors.' +[objectives] = [ + 'Use debugging tools in the IDE to fix runtime issues', + 'Set breakpoints and inspect variables.', + 'Step through code execution to identify logic errors.' +] [build] render = 'never' list = 'local' From 438723108f21ee08dafd0c046001518add50b2ff Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 3 May 2026 13:52:39 +0100 Subject: [PATCH 09/12] Move exercises into blocks --- .../module/java/sprint-1/section-1/index.md | 6 +++-- .../module/java/sprint-1/section-2/index.md | 24 ++++++++++++------- .../module/java/sprint-1/section-3/index.md | 6 +++-- .../module/java/sprint-1/section-4/index.md | 6 +++-- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/common-content/en/module/java/sprint-1/section-1/index.md b/common-content/en/module/java/sprint-1/section-1/index.md index a92cdef74..b72c46989 100644 --- a/common-content/en/module/java/sprint-1/section-1/index.md +++ b/common-content/en/module/java/sprint-1/section-1/index.md @@ -35,12 +35,14 @@ As you read through the resources below try to answer the following questions: - [Top 5 reasons you need an IDE](https://medium.com/@synergenttechsolution30/java-ides-top-5-reasons-you-need-an-ides-95426a0e6d5a) - [Java main() Method Explained](https://www.baeldung.com/java-main-method) -### Exercise 1.1 -Goal: Get comfortable with IntelliJ and running Java code. +{{}} +**Goal:** Get comfortable with IntelliJ and running Java code. + - Install IntelliJ IDEA and create a new Java project. - Create a main method and add logic so that it prints: "Hello, Java!" - You'll need to Google for how to print to the console in Java! - Run the program from the IDE. +{{}} ## Reflections Think about the following questions, make notes and be prepared to talk through your thoughts on the Saturday. diff --git a/common-content/en/module/java/sprint-1/section-2/index.md b/common-content/en/module/java/sprint-1/section-2/index.md index ba268b2f1..121101f65 100644 --- a/common-content/en/module/java/sprint-1/section-2/index.md +++ b/common-content/en/module/java/sprint-1/section-2/index.md @@ -47,29 +47,37 @@ As you read through the resources below try to answer the following questions: - [Java For Loop](https://www.baeldung.com/java-for-loop) - [Decision Making in Java - Conditional Statements](https://www.geeksforgeeks.org/java/decision-making-javaif-else-switch-break-continue-jump/) -### Exercise 2.1: -Goal: Practice basic syntax and keywords. +{{}} +**Goal:** Practice basic syntax and keywords. + Create a program that: - Declares variables of different primitive types (int, double, boolean, char). - Prints their values to the console. - Add comments explaining what each keyword does (e.g., public, static, void). +{{}} + +{{}} +**Goal:** Identify and fix compilation errors. -### Exercise 2.2: -Goal: Identify and fix compilation errors. - Remove a semicolon or misspell a keyword in your code. - Observe the compilation error in IntelliJ. - Fix the error and re-run the program +{{}} + +{{}} +**Goal:** Compare Java control flow with JavaScript. -### Exercise 2.2 -Goal: Compare Java control flow with JavaScript. Write a program that: - Uses a for loop to print numbers 1 to 10. - Uses an if-else statement to check if a number is even or odd. -- Bonus: Rewrite the same logic in JavaScript and note the differences in syntax. -### Exercise 2.3: +**Bonus:** Rewrite the same logic in JavaScript and note the differences in syntax. +{{}} + +{{}} - Write a program that uses a switch statement to print the name of the day based on an integer (1 = Monday, etc.). - Explain why switch in Java differs from JavaScript (e.g. type safety). +{{}} ## Reflections Think about the following questions, make notes and be prepared to talk through your thoughts in the workshop. diff --git a/common-content/en/module/java/sprint-1/section-3/index.md b/common-content/en/module/java/sprint-1/section-3/index.md index b104a8294..688efd390 100644 --- a/common-content/en/module/java/sprint-1/section-3/index.md +++ b/common-content/en/module/java/sprint-1/section-3/index.md @@ -28,17 +28,19 @@ As you read through the resources below try to answer the following questions: - [Writing Java methods](https://www.w3schools.com/java/java_methods.asp) - [Introduction to JavaDoc](https://www.baeldung.com/javadoc) -### Exercise 3.1 +{{}} Goal: Write a method signature which takes parameters. - Create a private method called greetUser that: - Accepts a String name as a parameter. - Returns a greeting message like "Hello, Alice!". - Call this method from a main method and print the result. - Explain each part of the method signature for the name method. +{{}} -### Exercise 3.2 +{{}} - Create a method calculateSum that takes two integers and returns their sum. - Add JavaDoc comments explaining the method. +{{}} ## Reflections Think about the following questions, make notes and be prepared to talk through your thoughts in the workshop. diff --git a/common-content/en/module/java/sprint-1/section-4/index.md b/common-content/en/module/java/sprint-1/section-4/index.md index b6de8888d..535ae0602 100644 --- a/common-content/en/module/java/sprint-1/section-4/index.md +++ b/common-content/en/module/java/sprint-1/section-4/index.md @@ -40,14 +40,16 @@ As you read through the resources below try to answer the following questions: - [Debugging a Java application with IntelliJ](https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html) - [Understanding compilation](https://www.baeldung.com/java-compiled-interpreted) -### Exercise 4.1: -Goal: Learn to use breakpoints and inspect variables. +{{}} +**Goal:** Learn to use breakpoints and inspect variables. + - Write a program that calculates the sum of numbers from 1 to 100 and prints the result - Introduce a bug (e.g., start the loop at -1 instead of 1). - Use IntelliJ’s debugger to: - Set a breakpoint inside the loop. - Inspect the value of the sum variable and the result variable, seeing how they change as you step through. - Step through the code to find the error. +{{}} ## Reflections Think about the following questions, make notes and be prepared to talk through your thoughts in the workshop. From 8955f95f0351a95f3e6e02bdc796a3851c3b3680 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 3 May 2026 14:02:25 +0100 Subject: [PATCH 10/12] Small fixes, rename section folders --- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../{section-3 => method-signatures}/index.md | 2 +- .../tracks/java/sprints/1/prep/index.md | 19 ++++++++----------- 5 files changed, 12 insertions(+), 15 deletions(-) rename common-content/en/module/java/sprint-1/{section-4 => debugging-java-code-using-the-ide}/index.md (97%) rename common-content/en/module/java/sprint-1/{section-1 => ide-and-main-methods}/index.md (97%) rename common-content/en/module/java/sprint-1/{section-2 => java-keywords-and-syntax}/index.md (98%) rename common-content/en/module/java/sprint-1/{section-3 => method-signatures}/index.md (98%) diff --git a/common-content/en/module/java/sprint-1/section-4/index.md b/common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md similarity index 97% rename from common-content/en/module/java/sprint-1/section-4/index.md rename to common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md index 535ae0602..7e2324004 100644 --- a/common-content/en/module/java/sprint-1/section-4/index.md +++ b/common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md @@ -1,5 +1,5 @@ +++ -title = 'Section 4: Debugging Java Code Using the IDE' +title = 'Debugging Java Code Using the IDE' time = 120 [objectives] = [ diff --git a/common-content/en/module/java/sprint-1/section-1/index.md b/common-content/en/module/java/sprint-1/ide-and-main-methods/index.md similarity index 97% rename from common-content/en/module/java/sprint-1/section-1/index.md rename to common-content/en/module/java/sprint-1/ide-and-main-methods/index.md index b72c46989..d552ab513 100644 --- a/common-content/en/module/java/sprint-1/section-1/index.md +++ b/common-content/en/module/java/sprint-1/ide-and-main-methods/index.md @@ -1,5 +1,5 @@ +++ -title = 'Section 1: Getting Started with the IDE and main methods' +title = 'Getting Started with the IDE and main methods' time = 120 [objectives] = [ diff --git a/common-content/en/module/java/sprint-1/section-2/index.md b/common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md similarity index 98% rename from common-content/en/module/java/sprint-1/section-2/index.md rename to common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md index 121101f65..f50318750 100644 --- a/common-content/en/module/java/sprint-1/section-2/index.md +++ b/common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md @@ -1,5 +1,5 @@ +++ -title = 'Section 2: Java keywords and syntax' +title = 'Java keywords and syntax' time = 120 [objectives] = [ diff --git a/common-content/en/module/java/sprint-1/section-3/index.md b/common-content/en/module/java/sprint-1/method-signatures/index.md similarity index 98% rename from common-content/en/module/java/sprint-1/section-3/index.md rename to common-content/en/module/java/sprint-1/method-signatures/index.md index 688efd390..1e978162b 100644 --- a/common-content/en/module/java/sprint-1/section-3/index.md +++ b/common-content/en/module/java/sprint-1/method-signatures/index.md @@ -1,5 +1,5 @@ +++ -title = 'Section 3: Method Signatures' +title = 'Method Signatures' time = 120 [objectives] = [ diff --git a/org-cyf/content/tracks/java/sprints/1/prep/index.md b/org-cyf/content/tracks/java/sprints/1/prep/index.md index 1c96999ac..d098d43d1 100644 --- a/org-cyf/content/tracks/java/sprints/1/prep/index.md +++ b/org-cyf/content/tracks/java/sprints/1/prep/index.md @@ -4,20 +4,17 @@ layout = 'prep' menu_level = ['sprint'] weight = 1 [[blocks]] -name="Prep for this class" -src="module/entry-tracks/preparation" +name="Getting Started with the IDE and main methods" +src="module/java/sprint-1/ide-and-main-methods" [[blocks]] -name="Section 1: Getting Started with the IDE and main methods" -src="module/java/sprint-1/section-1" +name="Java keywords and syntax" +src="module/java/sprint-1/java-keywords-and-syntax" [[blocks]] -name="Section 2: Java keywords and syntax" -src="module/java/sprint-1/section-2" +name="Method Signatures" +src="module/java/sprint-1/method-signatures" [[blocks]] -name="Section 3: Method Signatures" -src="module/java/sprint-1/section-3" -[[blocks]] -name="Section 4: Debugging Java Code Using the IDE" -src="module/java/sprint-1/section-4" +name="Debugging Java Code Using the IDE" +src="module/java/sprint-1/debugging-java-code-using-the-ide" [[blocks]] name="Read the day plan" src="module/entry-tracks/read-the-day-plan" From 4c4e35060d90480629e1fb5d9ca1537388907d75 Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 3 May 2026 14:08:46 +0100 Subject: [PATCH 11/12] Remove uneeded objectives and change course type --- org-cyf/content/tracks/java/_index.md | 2 +- org-cyf/content/tracks/java/sprints/1/success/index.md | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/org-cyf/content/tracks/java/_index.md b/org-cyf/content/tracks/java/_index.md index f4cdfb277..b65f9e5c1 100644 --- a/org-cyf/content/tracks/java/_index.md +++ b/org-cyf/content/tracks/java/_index.md @@ -3,7 +3,7 @@ title = 'Java' description = 'Learn Java' layout = 'module' emoji="🤖" -track_kinds = ["guided-study-after-itp"] +track_kinds = ["jobs-after-sdc"] menu="Java" weight = 1 +++ diff --git a/org-cyf/content/tracks/java/sprints/1/success/index.md b/org-cyf/content/tracks/java/sprints/1/success/index.md index 953a6215d..95ba1c3d5 100644 --- a/org-cyf/content/tracks/java/sprints/1/success/index.md +++ b/org-cyf/content/tracks/java/sprints/1/success/index.md @@ -7,12 +7,3 @@ weight = 4 Welcome to Sprint 1! In this sprint, you’ll take your first steps into Java development. Since you already have experience with programming concepts from the CodeYourFuture curriculum, we’ll focus on bridging your existing knowledge (mostly in JavaScript) with Java’s syntax and tools. The goal of the sprint is to get you writing, running, and debugging Java applications quickly, without diving too deeply into computer science theory or Java Virtual Machine (JVM) internals. By the end of this sprint, you’ll be comfortable setting up a Java project in an IDE, running your first program, and understanding the basics of Java syntax and structure. - -[[objectives]] - 1=Import a Java project into an Integrated Development Environment (IDE) and run a Java 2=application - 3=Explain what a main method is and why it’s required - 4=Identify non-compiling code an IDE and use the IDE error analysis to explain common compilation errors - 4=Write basic Java logic using common coding concepts such as loops and conditionals, including using common Java keywords, primitive types, and syntax - 5=Write a method signature and explain each of the components that form it: visibility, name, parameters - 6=Import a project into an IDE and run it - 7=Use debugging tools in an IDE to troubleshoot code. From f470f592a99e3a97c9c0bda858bad4d1aff30f3d Mon Sep 17 00:00:00 2001 From: Anna Aitchison Date: Sun, 3 May 2026 14:22:47 +0100 Subject: [PATCH 12/12] Fix mistake --- .../java/sprint-1/debugging-java-code-using-the-ide/index.md | 2 +- .../en/module/java/sprint-1/ide-and-main-methods/index.md | 2 +- .../en/module/java/sprint-1/java-keywords-and-syntax/index.md | 4 ++-- .../en/module/java/sprint-1/method-signatures/index.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md b/common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md index 7e2324004..046b7091c 100644 --- a/common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md +++ b/common-content/en/module/java/sprint-1/debugging-java-code-using-the-ide/index.md @@ -2,7 +2,7 @@ title = 'Debugging Java Code Using the IDE' time = 120 -[objectives] = [ +objectives = [ 'Use debugging tools in the IDE to fix runtime issues', 'Set breakpoints and inspect variables.', 'Step through code execution to identify logic errors.' diff --git a/common-content/en/module/java/sprint-1/ide-and-main-methods/index.md b/common-content/en/module/java/sprint-1/ide-and-main-methods/index.md index d552ab513..aa3fee436 100644 --- a/common-content/en/module/java/sprint-1/ide-and-main-methods/index.md +++ b/common-content/en/module/java/sprint-1/ide-and-main-methods/index.md @@ -2,7 +2,7 @@ title = 'Getting Started with the IDE and main methods' time = 120 -[objectives] = [ +objectives = [ 'Install and set up IntelliJ IDEA.', 'Navigate the IDE interface: project explorer, editor, console, and debugger.', 'Create a basic Java project and run a simple program.', diff --git a/common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md b/common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md index f50318750..b66451512 100644 --- a/common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md +++ b/common-content/en/module/java/sprint-1/java-keywords-and-syntax/index.md @@ -2,7 +2,7 @@ title = 'Java keywords and syntax' time = 120 -[objectives] = [ +objectives = [ 'Identify Java reserved keywords in an IDE', 'Explain and use common keywords like public, private, static, void, for, if, and primitive types', 'Declare variables and print them out to the console.', @@ -30,7 +30,7 @@ Java has two types of data type: primitive and reference. Without going into too Java is a statically typed language, which means that variable types are known at compile time. As such, the type must be provided by the programmer when writing the code. For example, if you are to define a string, you must explicitly state that the variable is of type string: -``` +```java String myVariable = "hello world"; ``` diff --git a/common-content/en/module/java/sprint-1/method-signatures/index.md b/common-content/en/module/java/sprint-1/method-signatures/index.md index 1e978162b..6f8c69cd0 100644 --- a/common-content/en/module/java/sprint-1/method-signatures/index.md +++ b/common-content/en/module/java/sprint-1/method-signatures/index.md @@ -2,7 +2,7 @@ title = 'Method Signatures' time = 120 -[objectives] = [ +objectives = [ 'Write methods and explain the structure and components of method signatures.', 'Write and run custom methods with parameters and return types.', 'Document methods using JavaDoc'