week 1 of ZCW
Welcome to our first weekly project, Yellow Brick Road. This project is designed to help you get started with the basics of programming and the tools you'll need to succeed in your career as a developer. We'll be covering everything from setting up your development environment to writing your first program.
Working through a series of labs, and completing challenges, is what you are aiming to get done this week.
All of you will be working on the following projects:
Projects inside this repo. They are not really language (java/python) dependent.
- ZipCode-GettingStarted lets make sure there are, well, you know, things
- MyFirstFork git yourself goin'
- Shell-Terminal the magic spell machine
- NanoEditor believe it or not, it's all about the TEXT
- DreamHouse show me your domestic aspirations
- Markdown101 - writing in the lingua programmica
Other repos that also need to be done. These are both Java and Python projects. You will do one or the other.
- DanDoBetters strings and functions and oh my
- UsingReturn1 wait return vs. print/println
- ParenSymmetry doing some text processing
- CodeInterpreters objects and interpreters
Java students will work on these projects:
- Java/JavaSmall
- Java/WordGuess
Data (Python) students will work on these projects:
- https://github.com/ZipCodeCore/PipelineOne (maybe next week)
Blaze is a blogging engine built with Python and Flask. It allows users to create, edit, and delete blog posts, as well as comment on existing posts. The application is designed to be simple and easy to use, with a focus on user experience.
Writing about the code you're reading and creating isn't just busy work—it's one of the most powerful tools for deepening your understanding as a developer. When you sit down to explain a concept, debug a problem, or walk through your latest project in writing, you're forced to organize your thoughts and fill in gaps you didn't even know existed. That moment when you realize you can't quite articulate how a function works? That's your brain identifying exactly what you need to study next.
The act of translating code into plain English activates different parts of your learning process. While you might think you understand how inheritance works when you're copying examples, actually explaining it to someone else—or to your future self through a blog post—reveals whether you truly grasp the concept or you're just going through the motions. This metacognitive process, thinking about your thinking, is what transforms superficial knowledge into deep, transferable skills.
Your Blaze blog becomes more than just a record of what you've learned—it becomes your personal learning laboratory. Each post is an opportunity to reinforce concepts, spot patterns in your problem-solving approach, and track your evolution from confused beginner to confident developer. Six months from now, when you're tackling more complex challenges, you'll be amazed at how often you reference your own earlier posts to remember not just what you learned, but how you learned it. This continuous documentation creates a feedback loop that accelerates your growth, helping you recognize your progress even when the learning curve feels steep.
Here are the types of blog posts that we expect would be most valuable for you as beginner Java or Python developers to demonstrate your learning journey:
Students should write about specific concepts they're mastering, like "Understanding Object-Oriented Programming Through Building a Simple Calculator" or "My First Encounter with Python Decorators." These posts help solidify their understanding while showing they can explain technical concepts clearly.
Detailed breakdowns of projects they've built, including the problem they solved, their approach, challenges they faced, and lessons learned. For example, "Building My First REST API: From Confusion to Confidence" or "Creating a To-Do App: How I Structured My Java Classes."
Posts about debugging sessions or particularly tricky problems they solved. These demonstrate critical thinking and persistence - qualities employers value. Something like "The Bug That Taught Me About Memory Management" or "How I Fixed My Infinite Loop (And What I Learned)."
Regular check-ins about their overall progress, what concepts clicked that week, what they're struggling with, and their goals for the following week. This shows self-awareness and continuous learning mindset.
Taking earlier code they wrote and explaining how they'd improve it now, demonstrating growth and evolving best practices understanding.
Honest assessments of tutorials, books, or tools they've used, showing they can evaluate learning materials critically.
Reflections on mock interviews, networking events, or insights about the job search process as they progress through the bootcamp. These posts create a portfolio that shows not just coding ability, but communication skills, growth mindset, and professional development - all crucial for landing that first developer role.
Blaze is based on writefreely.org, a free and open-source platform for self-hosted blogging and publishing. It's a great tool for creating and sharing your posts, and it's easy to set up and use.
Since WriteFreely prioritizes clean, distraction-free writing, new users should embrace its minimalist approach rather than expecting complex formatting options. The platform uses Markdown for formatting, so students should familiarize themselves with basic Markdown syntax—headers (#), code blocks (```), links, and emphasis. This actually works in your favor as a developer, since Markdown is widely used in documentation, README files, and technical writing throughout the industry.
Take advantage of WriteFreely's tagging system to categorize your posts—use tags like "java-basics," "debugging," "project-walkthrough," or "week-1" to make your content easily searchable later. Since WriteFreely doesn't have elaborate theming options, focus on developing a consistent writing voice and structure instead. Create templates for different types of posts (like weekly reflections or project breakdowns) to maintain consistency and make writing feel less overwhelming.
WriteFreely handles code snippets beautifully with proper syntax highlighting when you use fenced code blocks with language specification (java or python). For longer code examples, consider linking to GitHub repositories rather than pasting entire files—this keeps your posts readable while showing you understand version control, another crucial developer skill.
Even though these blogs are primarily for your learning, WriteFreely's federation capabilities mean your posts can be discovered by other developers. Write with future employers in mind—clear, professional writing that demonstrates both technical knowledge and communication skills. Don't worry about having a huge readership; focus on creating content that accurately reflects your learning journey and growth as a developer.
The platform's simplicity means faster loading times and fewer distractions, which is perfect for regular writing habits. Set up a routine—maybe Friday afternoon reflections or Tuesday project posts—and stick to it. The clean interface makes it easy to just start writing without getting bogged down in formatting decisions.
So, you see, these posts are not just about coding skills but also about how you approach challenges, learn from mistakes, and grow as a professional. They showcase your ability to communicate effectively, think critically, and adapt to new situations - all essential qualities for success in any career.