Welcome
Welcome to Marcy Lab School's Fullstack Software Engineering Curriculum! Here, you will find all of the lecture notes, recordings, slides, and code examples as well as cheat sheets, guides, and miscellaneous resources.
Over the next year you will learn how to be a Fullstack software engineer! You'll learn the basics of the JavaScript syntax, how to use JavaScript to solve real problems, and then how to organize and optimize your code like a pro!
The Curriculum
At the Marcy Lab School, you will learn how to build full-stack web applications using the PERN stack (Postgres, Express, React, Node). In addition, you will become familiar with a variety of languages, technologies, developer tools, and more including:
Languages: HTML, CSS, JS, SQL, sh
Frameworks & Libaries: React, Express, Knex, Jest, Bcrypt
Technologies: Nodejs, PostgreSQL
Developer Tools: VS Code, Cursor, GitHub, Git, Terminal, TablePlus, Postman
Course Modules
The core curriculum is delivered over the course of 9 months with a final 3-month "Capstone" period with individual modules spanning 1 to 6 weeks:
Technical Competencies
Writing code is not the primary skill of a software engineer—it's the medium. Yes, software engineers must know syntax, however, just as writing prose is the medium through which authors tell stories, coding is the medium through which engineers express ideas, design systems, and solve problems. Especially with the advancements of AI, the skills that truly matter for software engineers are durable skills that extend beyond any single technology.
The competencies listed below provide shared vocabulary that we can use amongst instructors to align on what motivates our curriculum and to model in the classroom and teach in every lesson. These competencies can also be shared directly with fellows to help articulate their strengths and areas of growth, enabling us to provide more targeted support and enabling them to better focus their efforts on closing gaps.
Note: these competencies often will overlap and support each other. For example, technical communication requires effective mental modeling and systems-level thinking.
Learning at Marcy (with AI)
Learning is a skill and, just like any other skill, it can be developed and improved upon with intentional practice. At Marcy, we will help you hone your learning skills by encouraging you to follow the 4-step iterative process:
Gather Information
Utilize, apply, and organize that information
Reflect on your learnings and gaps
Gather more information to refine your understanding
Generative AI tools can massively increase your learning potential but only if you use them intentionally! You have to be an active participant in your learning — AI can't learn for you. Some strategies for using AI intentionally include.
Ask ChatGPT to help you by...
Making complex topics easier to understand:
"Break down this concept into smaller, digestible parts"
"Connect this idea to something I already know"
"Provide multiple perspectives or explanations for this topic"
Overcoming challenges with AI support:
"Here is my code. Identify the mistakes and explain it step-by-step so I can fix it myself"
"Check out my definition for the forEach function. It feels like something is off. Can you check my work for misconceptions?"
"I just studied how JavaScript arrays work. Generate 5 practice questions for me ranging from easy to challenging that test my understanding of array methods."
Planning next steps
"I am trying to learn about React hooks, what should I master first?"
"I am building a project, where should I start first?"
"I've just finished an interview, what should I do to follow up to leave a good impression?"
Tips and Tricks to Success at Marcy
Last updated