Marcy Lab School Docs
  • Welcome
  • Student Guidelines & Policies
    • Student Handbook
    • AI Policy
    • Academic Calendar
  • Environment Setup
    • Local Environment Setup - Mac
    • Local Environment Setup - Windows
    • GitHub Setup
    • Postgres Setup
  • How-Tos
    • How To Code at Marcy: Code Style Guide
    • How to Do Short Response and Coding Assignments
    • How to Debug
    • How to PEDAC
    • How to Create A GitHub Organization and Scrumboard
    • How to Create Projects with Vite
    • How to Deploy on GitHub Pages
    • How to Deploy on Render
    • How to Test your API with Postman
  • Mod 0 - Command Line Interfaces, Git, and GitHub
    • Overview
    • 1. Command Line Interfaces
    • 2. Git & GitHub
    • 3. Git Pulling & Merging
    • 4. Git Branching & PRs
  • Mod 1 - JavaScript Fundamentals
    • Overview
    • 1. Intro to Programming
    • 2. Errors
    • 3. Node & Node Modules
    • 4. Variables, Functions & String Methods
    • 5. Control Flow, typeof, and Math
    • 6. Loops
    • 7. Arrays
    • 8. Objects
    • 9. Higher Order Functions: Callbacks
    • 10. Higher Order Functions: Array Methods
    • 11. Regex
  • Mod 2 - HTML, CSS & the DOM
    • Overview
    • 1. HTML
    • 2. CSS
    • 3. Accessibility (a11y)
    • 4. The Document Object Model (DOM) API
    • 5. Events
    • 6. Forms
    • 7. The Box Model and Positioning
    • 8. Flexbox
    • 9. Grid & Media Queries
    • 10. ESModules
    • 11. Vite
    • 12. LocalStorage
  • Mod 3 - Async & APIs
    • Overview
    • 1. Promises
    • 2. Fetch
    • 3. Building a Fetching App
    • 4. Async & Await
    • 5. A Generic Fetch Handler
  • Mod 4 - Project Week!
    • Important How Tos and Guides
      • How to Create a GitHub Organization and Scrum Board
      • How To Start a Project with Vite
      • How To Deploy a Project with GitHub Pages
    • Project Week Overview
    • Agile Methodologies
    • Deliverables & Milestones
    • Technical Requirements Checklist
    • Free API List
    • Collaborative GitHub
  • Mod 5 - Object-Oriented Programming
    • Overview
    • 1. Intro to OOP, Encapsulation, Factory Functions, and Closure
    • 2. Classes
    • 3. Private & Static
    • 4. UML Diagrams & Has Many/Belongs To Relationships
    • 5. Challenge: Implementing Has Many/Belongs To
    • 6. Inheritance
    • 7. Polymorphism
    • 8. Review and Practice
    • MDN: Object Prototypes
  • Mod 6 - Data Structures & Algorithms
    • Overview
    • Important How Tos and Guides
      • How to Debug
      • How to PEDAC
    • 1. Nodes & Linked Lists
    • 2. Singly & Doubly Linked Lists
    • 3. Stacks & Queues
    • 4. Recursion
    • 5. Trees
  • Mod 7 - React
    • Overview
    • Important How Tos and Guides
      • How to Create Projects with Vite
      • How to Deploy on GitHub Pages
    • 1. Intro to React
    • 2. Events, State, and Forms
    • 3. Fetching with useEffect
    • 4. React Router
    • 5. Building a Flashcards App
    • 6. React Context
    • 7. Global Context Pattern
  • Mod 8 - Backend
    • Overview
    • Important How Tos and Guides
      • How to Deploy on Render
      • How to Test your API with Postman
      • Postgres Setup
    • 1. Intro to Express
    • 2. Building a Static Web Server with Middleware
    • 3. Securing API Keys and Environment Variables
    • 4. RESTful CRUD API
    • 5. Model-View-Controller Architecture
    • 6. SQL and Databases
    • 7. JOIN (Association) SQL Queries
    • 8. Knex
    • 9. Your First Fullstack App!
    • 10. Migrations & Seeds
    • 11. Schema Design & Normalization
    • 12. Hashing Passwords with Bcrypt
    • 13. React Express Auth Template Overview
  • Mod 9 - Civic Tech Hackathon
    • Overview
    • Rubric
  • Mod 10 - Capstone
    • Overview
Powered by GitBook
On this page
  • Our Views on AI and Learning
  • AI makes writing code faster, but there is no shortcut for learning.
  • AI can make mistakes. Always verify it yourself.
  • AI can debug simple things, but not everything
  • Recommended resources
  • Our Policy
  • Acceptable Use of AI
  • Unacceptable Use of AI
  1. Student Guidelines & Policies

AI Policy

Our Views on AI and Learning

Over the last few years, generative AI tools like ChatGPT have become increasingly popular, particularly for tasks like programming. And there are many good reasons for it! AI tools can make us more efficient and can be useful for reviewing, writing, and generating ideas.

However, Marcy is first and foremost a learning institution, and as such, generative AI tools must be used responsibly and for the purposes of learning, not as a substitute for learning or as a shortcut for completing work.

So, yes! You can use generative AI tools like ChatGPT at Marcy, but you must know how they will help you and how they can hurt you. Whenever you find yourself using ChatGPT, ask yourself, “Is this helping me learn?”

AI makes writing code faster, but there is no shortcut for learning.

Let us be clear, generative AI is very good at quickly writing simple pieces of code. With basic prompting, you could likely use it to complete 50% of Marcy’s homework assignments. However, your responsibility at Marcy is to learn, not to complete assignments.

If you use ChatGPT to complete your assignments, then you are robbing yourself of the chance to learn on your own. Remember, your completed assignments will not get you a job. What you know, what you can do, and your ability to learn will.

We certainly understand that generative AI coding tools are used by experts in the professional world. However, you must first prove that you can program without those tools before earning the privilege of using them.

"You can give a carpenter a nail gun and they will drive 100 nails in a minute, but if they don’t know how to design and build a chair, what’s the point?" — Ben Spector

Using AI is a privilege earned by those experts who took the time to first master their craft, and then utilized AI to enhance their work. AI coding tools make experts faster, they can’t make you smarter.

AI can make mistakes. Always verify it yourself.

One of the biggest risks of using ChatGPT is that it can “hallucinate”, meaning it can provide answers that seem reasonable but are completely inaccurate. As such, ChatGPT should always be checked against another resource or verified yourself.

Do not trust responses generated by ChatGPT. Instead, find a human who has provided an answer to your questions and use ChatGPT to summarize the answer in simpler language.

AI can debug simple things, but not everything

There will be many times when you want to reach for ChatGPT to help you debug your code. Up to a certain point, it will be quite good at this. However, its usefulness will quickly run out, and you will be left without the critical skills to solve problems on your own.

For example, ChatGPT can likely identify a logical mistake inside of a single function, but it will be much less likely to be able to tell you why the 5 different functions in your full-stack program aren’t working together properly.

Debugging is a critical skill that you MUST develop a strategy for.

Recommended resources

So, what learning resources do we recommend you use to learn?

  • If you want to learn about a topic for the first time, we recommend Eloquent JavaScript, W3Schools, MDN, Codecademy, and Freecodecamp. If you want alternative learning modes, use YouTube!

  • When learning about tools and frameworks (like Express, React, Postgres, etc…), use official documentation. It will be painful at first, but this is a skill that you must hone.

  • If you have a bug or error code that you don’t understand, Google that too! It is more than likely that someone on StackOverflow will have run into the same issue and can provide a direct answer to your question.

For each of these resources, if you find a definition or explanation confusing, use ChatGPT to summarize it for you!

Our Policy

Any student work submitted using AI tools should clearly indicate what work is the student’s work and what work is generated by the AI. In such cases, no more than 25% of the student work should be generated by AI. Assignments that are in large part quoted from an AI assistant are very unlikely to be evaluated positively. In addition, if a student's work is substantially identical to another student's work, that will be grounds for an investigation of plagiarism regardless of whether the prose was produced by an AI assistant

Below, you will find the use cases under which you can and cannot use AI at Marcy. When in doubt about permitted usage, please ask for clarification.

Acceptable Use of AI

The use of generative AI tools like ChatGPT is permitted at Marcy for the following activities (expand each use case to see an example):

Brainstorming and refining your ideas

ChatGPT is excellent at providing you with ideas for your projects. Make sure to specify the requirements of the projects and explain the desired features.

Generating example data sets

ChatGPT is excellent at generating well-formatted data sets for your projects! Make sure to specify the data types of the dataset you wish to generate and the language or format of the dataset (JavaScript, Python, JSON, comma-separated values/CSV, etc…)

Simplifying or summarizing technical documentation

When you encounter a definition in a piece of technical documentation that confuses you, see if ChatGPT can summarize it for you. The documentation should ALWAYS be your “source of truth”, but ChatGPT can help explain complex concepts in language that may be easier to digest. First, state that you want to simplify a definition and then copy-paste the definition below.

Checking grammar, spelling, and style in writing

Use ChatGPT as a final review before submitting your writing submissions. Specify the question you are answering to provide the necessary context for ChatGPT to potentially correct any incorrect answers you may be providing. Specify that you want it to check for grammar, spelling, and style to reduce the degree to which it will rewrite your work.

Checking code style

ChatGPT can be used to identify common code style issues such as variable names, spacing, indentation, and best practices. Specify the language that you are programming in to reduce the likelihood of hallucinations.

Drafting the structure of emails and other forms of communication

Use ChatGPT to provide a structure for communication with mentors, instructors, and other professionals. We often get feedback from hiring partners that they can tell when applications and emails are written using AI so always review the provided structure and revise it before sending to ensure that the writing sounds like YOU. Review the key points to learn how to write messages like this on your own.

Unacceptable Use of AI

The use of generative AI tools is not permitted in this course for the following activities:

  • Writing entire sentences, paragraphs, or papers to complete class assignments.

  • Generating solutions to complete technical homework assignments.

  • Use in any form during a GCF

  • Use in any form on the coding portion of a technical assessment.

  • Use of VS Code AI auto-complete extensions.

PreviousStudent HandbookNextEnvironment Setup

Last updated 8 months ago