π Welcome to CIS 1962: JavaScript!
This course is an introduction to modern JavaScript[*]. We'll be covering frameworks, design patterns, techniques, and best practices for building frontend and backend applications. By the end, you'll be able to build your own full-stack web apps! Here's what we'll cover:
- JavaScript fundamentals
- TypeScript fundamentals
- Web development fundamentals (HTML, CSS, HTTP, etc.)
- JavaScript ecosystem (Node.js, npm, etc.)
- JavaScript frameworks and libraries
- JavaScript design patterns and best practices
This course is ideal if you have some programming experience and want to build complex, interactive web applications. Don't worry too much if you don't have extensive knowledge in programming or the web development, as we will still go over the basics in the first few weeks. Our goal is to teach you the core concepts so you can easily pick up any framework on your own in the vast sea of JS frameworks.
This section (202) focuses on best practices and fundamentals for building full-stack web applications with JavaScript.
π Prerequisites
You should have some programming experience (equivalent to CIS 1100 or CIS 1200) and basic knowledge of HTML/CSS. If you're not familiar with HTML/CSS, we recommend brushing up with resources like Codecademy or the Mozilla Developer Network, since we'll only briefly cover these topics.
π Grading
Your grade will be based on the following components:
- Assignments (55%)
- Final Project (30%)
- Weekly Check-ins (10%)
- Attendance (5%)
π Policies
Late Assignments
You can reopen one assignment at a time to get an extension until the next assignment is due. Just let us know in the weekly check-in if you'd like to reopen a past assignment.
- Can I reopen the same assignment multiple times? Yes
- Can I reopen multiple assignments at once? No
- Can I reopen past the last homework's due date? No
This policy is meant to encourage you to do your best work, no matter how long it takes. We understand that life happens and sometimes you need more timeβjust reach out if you have any questions!
Academic Integrity
Feel free to use Google and online documentation to help you understand concepts and complete assignments. Discussing homework at a high level with classmates (overall goals, structure) or asking about syntax and built-in functions is fine. Just make sure your implementation is your own work.
AI Use
We strongly discourage using AI for homework. The goal is for you to learn the language yourself. That said, using AI to clarify concepts is fine if it helps you understand better.
- Can I use AI for conceptual questions? Yes
- Can I use AI for implementation questions? No
- Can I use AI to write code for me? No
- Can I use AI-generated code in my assignments? No
π Acknowledgments
This course is heavily based off of the previous iterations of this course and would not have been possible without the help of the staff of CIS 1962: JavaScript!
[*] This course is called JavaScript, but we will be learning and using TypeScript for the majority of the course.