These are the main goals of the New Jersey Computer Science Student Alliance (NJCSSA)


We teach kids to program, make apps, make games, and make websites.

How to learn

Mastering the skill of learning something on your own is more important than learning a particular programming language. We teach kids to learn independently so that they can continue enhancing their programming skills outside of the classroom.

Giving Back

By volunteering, you will give kids in Newark opportunities to succeed in the twenty-first century.


NJCSSA makes it easy to volunteer

Flexible Time Commitment

Choose the days and hours you can volunteer. Classes will generally be held 4 times per week for 10 weeks. Volunteers may participate from 2 to 8 hours each week!

Expert Coders not Needed

We are not only looking for people who are the best programmers. We want people who are passionate about CS and teaching others. It is a plus, however, to be a rockstar programmer.

College ECs

This kind of hands-on, high-impact CS volunteer work will be a great extracurricular activity in support of your college application.

About Us

Learn more by clicking on a category


The latest stories from NJCSSA

Our Amazing Team

Ben Campbell

[email protected], NJCSSA Founder

Jonathan Kao

NJCSSA instructor

Abhishek Mhatre

NJCSSA instructor

Risha Surana

NJCSSA instructor

Ronak Thakker

NJCSSA instructor

Sofia Wawrzyniak

NJCSSA instructor

Robert Zhao

NJCSSA instructor, Java and Python programmer, Discord:lucasbright8491#8274

Board Of Directors

Emily Campbell


Mike Campbell


Steve Peterson


Mark Pohl


Lisa Rampersad



What sets the NJCSSA apart from other coding programs?

  1. Length of class - We run longer programs than many other coding initiatives. We run a 4 week condensed course during the summer with 4 3-hour classes per week(12hrs). During the school year, we run a 10 week course with 4 90 minute classes per week (6hrs).
  2. Target demographic - While many programs focus on elementary school and middle school students, the NJCSSA targets high school students and talented middle school students. Computer science is a complicated topic, and we believe that a higher level of maturity is needed to grasp the most important concepts.
  3. Instructors - We recruit high school computer science students as instructors. Many of them have already taken or are currently in the process of taking AP Computer Science at their high schools.
  4. Low student/instructor ratios - The NJCSSA has been fortunate to receive a lot of support from high school volunteers. In our classes, there are usually 3-4 students per instructor. This low ratio allows for personalized tutoring sessions where learning is greatly accelerated.

Do instructors make money?

Not right now. We may have funds to pay instructors once we get funding from large corporations. Before this, we have to prove that NJCSSA is a success on a small scale with limited funding. For those who are curious, the founder does not make money from this organization either.

How will teaching work?

    Structured Curriculum
    • Several instructors will teach the kids the basics of Python, JS, or another language.
    • The structured classes will be held several times a week and will consist of lectures and lab/problem solving sessions.
    • The kids will move through a structured curriculum to gain the skills necessary to become independent learners.

    Instructors who are not ready for leading "front of class" instruction will act as support teachers for kids who have questions during the lessons. They will also support any students who have moved on to the unstructured curriculum.

    Unstructured Curriculum
    • After mastering the basics, the students move on to the unstructured curriculum which consists of lab/problem solving sessions.
    • At the NJCSSA we value teaching kids how to solve problems on their own. The future of learning is self-learning.
    • That is why we promote the "Google/StackOverflow Strategy". This means that the student should Google the question, come up with probable solutions, implement them, and, if they are truly stuck, come to an instructor.
    • This philosophy creates students who are self-sufficient and empowered.

What is an example of unstructured learning?

For example, a student may want to make a game but may not have all of the programming experience, beyond what we gave them in the structured curriculum, to be successful. We might start them out on Python's turtle game to get them thinking about drawing graphics in the most basic sense. Once they have mastered the turtle game, they may move on to Pygame. Then when they are proficient, they may independently move on to things like Unity and Unreal Engine, which are two powerful game engines many modern games are programmed with. We believe in progressive challenges in learning and providing students with the skills to independently meet their challenges.

How much experience is needed for instructors?

The NJCSSA requires instructors to have a basic knowledge of programming. There are different roles for instructors: the more experienced will be lead teaching while the less experienced will be in a support role. The kids will likely have little programming experience and will appreciate any help you can provide. Volunteering with the NJCSSA will also be an opportunity for less knowledgeable instructors to improve their skills. If you still have any questions email Ben.

When is the spring 2020 program going to start?

February 3 2020.

Join our Team

Please fill out the Google Form and then use Discord. Discord makes it a lot easier to talk, but if you don't want to use that you can email me at [email protected]