🚀 Introduction to Computer Science

nFactorial Start: Learn the foundations of programming in 8 weeks
Nov 2 (Mon) 2020 - Dec 25 (Fri) 2020
Part-time program: workload of 15-20 hours per week 
Regular deadline: Oct 30 (Fri) 11:59pm

Join our Telegram group for updates and discussions

'nFactorial Start' in 1 minute

8 weeks of fun
Nov 2 (Mon) 2020 - Dec 25 (Fri) 2020. Last chance to execute on your New Year’s resolutions!
For beginners
No prior programming experience required. This is the ultimate ‘From Zero to Hero’ program.
Live lectures
40 live interactive workshops and lectures every workday (Mon-Fri) at 9-10:30AM
Programming in Java, conditionals, loops, arrays, working with input and output, functions, libraries, recursion, data types, object-oriented programming, basic algorithms and data structures, sorting, searching, stacks, queues, hash tables, theory of computation, advanced topics
Creative atmosphere
8 weeks of fun: live interactive video lectures, interesting homeworks, individual office hours, demo/brainstorming sessions, fun community events, code reviews, online forum
Right foundation
A lot of employed (and unemployed) programmers code by constant trial-and-error and copying-and-pasting snippets from StackOverflow without understanding why it works. Good programmers first plan on paper and then write the correct solution from the 1st attempt. We will help you build the correct foundation so that you’re a good programmer.
Fully remote
You can participate from anywhere in the world
Amazing curriculum
Battle-tested curriculum based on the Princeton University course taught by Robert Sedgewick and Kevin Wayne.
Focus on practice
Daily programming homeworks and 10 programming projects
You can take this program while working or studying at school/university. You’re expected to dedicate to the program 15-20 hours a week for 8 weeks.
This is a perfect preparation and prerequisite for the flagship nFactorial program where you learn to build iOS and web applications.
Office hours
Individual sessions to get direct help from an instructor and teaching assistants

⏳ Timeline


Introduction to Java. Basic programming concepts. Anatomy of a program. Built-in data types. Type conversion. Steps in program development. Conditionals: the if statement. Loops: the while statement, the for loop. Nesting. Debugging.



Arrays. Code to process arrays. Two dimensional arrays. Standard input and output. Standard drawing. Fractal drawings. Animation.


Functions and libraries. Case study: digital audio. Application: Gaussian distribution. Modular programming.Recursion. Classic examples. Recursive graphics. Optimizations: avoiding exponential waste. Dynamic programming.



Object-oriented programming. Color. Image processing. String processing. Creating new data types. Examples: point charges, turtle graphics, complex numbers.


Performance of algorithms. Empirical analysis. Mathematical models. Orders of growth. Searching algorithms: sequential search, binary search. Sorting algorithms: insertion sort, mergesort, longest repeated substring.



Classic data structures. APIs and clients. Stacks, queues, linked lists and implementations.


Theory of computation. Introduction to Theoretical Computer Science. Regular expressions. DFAs. Applications. Computing Machine. Data types. Instructions. Operating the machine. Machine language programming. von Neumann machines. Practical implications. Simulation.



Turing Machines. A simple model of computation. Universality and computability. P and NP. Intractability. Poly-time reductions. NP-completeness.

🎒 Team

Arman will be your instructor delivering daily interactive lectures and workshops. Teaching assistants will be announced soon...
Arman Suleimenov - Lead Instructor

Founder, nFactorial School. Co-founder, Hora.AI / Zero To One Labs / nFactorial Incubator. Purdue CS '10, Princeton CS *12. ACM ICPC World Finals '09, '11. Arman taught 'Introduction to Computer Science' seminars for 4 semesters at Princeton University in 2010-2012. LinkedIn

Dalida Yerkuliyeva - Program Coordinator

Program Manager, nFactorial School. Past: Senior Consultant, Ernest & Young; Senior Specialist, KazMunayGas. Education: Queen Mary University of London '2014, Imperial College London *2017. LinkedIn

💰 Pricing

- 40 live interactive workshops and lectures
- Daily homeworks
- Code review and grading of homeworks and programming projects
- Access to online forum for students and mentors
- Individual office hours with teaching assistants
- Peer-to-peer code reviews
- Career advice sessions
- Lecture video quizzes
- 10 graded programming projects

Upfront payment for the full program: $1999
Monthly payment plan is available: $420 x 6 months


Here we gathered some answers for frequently asked questions

When will I know that I'm accepted?


Applications will be read on a rolling basis. The decision will be made within a week of your submission. The earlier you apply, the earlier you will see the decision.

What is a typical day in the program like?


• 9am-10:30am - interactive video lecture + Q&A
• Students find a 1.5-2 hour window in their schedule to do the homeworks

What is the price of the program?


The upfront price is 1,999 USD. You can also pay through equal monthly installments ($420 x 6 months).

Do you offer any grants?


Unfortunately we don't offer any grants. If you can't afford the program, try fundraising using https://www.gofundme.com/start/education-fundraising

Do you have a physical office?


No, the program is fully remote.

Can I attend remotely?


Absolutely! That's the only way to participate in the program.

What do I need to know before the program?


This program is for complete beginners. There are no prerequisites.

Do I need to have a computer?


Yes. It can be either PC or Mac.

How many hours will I have to dedicate to the program?


15-20 hours a week. There would be five 1.5-hour workshops per week. Plus you're expected to spend at least 1.5 hours to do daily homeworks.

I want to participate, but I have a full-time job. What can I do?


No problem at all! This program was designed for students who have full-time jobs or studies.

I already have some programming experience. Should I apply?


Based on Arman's experience teaching this course in the past, many students with prior programming experience found this course challenging, engaging and extremely useful in building a solid Computer Science foundation. In this course, we cover algorithmic performance, sorting and searching, classic data structures, theory of computation, Turing machines, P vs NP, and much more.

How many mentors will be teaching at the school?


There would be 1 instructor, 1 program coordinator and 2 teaching assistants.

Any age restrictions for the candidates?


Not really, but we would prefer students who are at least 15 years old. We are ready to make ocassional exceptions.

What picture did you use in the header of this landing page?


This is a tribute to the martial arts movie titled '36 Chambers of Shaolin'. Taken in May 2017 in Kung-Fu School in a village in Shandong Province, China.

What will I have at the end of the program?


By the end of the program, you will have a solid foundation in Computer Science, Object-Oriented Programming and Java. After this program, you are ready to apply for the flagship nFactorial program where you learn to build iOS and web applications.   

What if I can't attend live sessions?


You can watch recordings of our sessions and participate in our online forum discussions on Discord.

What am I paying for?


Excellent question. You’re paying for: 1) 40 interactive live video lectures (see the curriculum in the Timeline above); 2) regular code reviews from experienced mentors; 3) individual office hours with mentors; 4) daily homeworks; 5) access to online forum discussions with other students and mentors; 6) peer-to-peer code reviews; 7) career advice sessions; 8) lecture video quizzes; 9) 10 graded programming projects. Ultimately, the participant is paying for the fact that our program transforms a student with zero programming experience into a student with very solid CS foundation.

Why Java?


We, as mentors, know most modern languages like Python, Ruby, JavaScript or Go. We picked Java because it is not as low-level as C (unnecessary complexity for beginners), but also not too high-level as Python (which hides a lot of the behind-the-scenes). Java is widely used, widely available, embraces full set of modern abstractions, is continuously developed since early 90s, has a variety of automatic checks for bugs. It is also an excellent language to teach Object-Oriented Programming which will be useful in mobile and full-stack web development. As a creator of C++ Bjarne Stroustrup noted, “There are only 2 kinds of programming languages: those people always gripe about and those nobody uses”. 

💸 What's in it for me?

Rise above the crowd

A lot of employed (and unemployed) programmers code by constant trial-and-error and copying-and-pasting snippets from StackOverflow without understanding why it works. Good programmers first plan on paper and then write the correct solution from the 1st attempt. We will help you build the right foundation in Computer Science.

Epic community

Join the community of impressive software engineers and alumni of previous years.

Excellent preparation for the nFactorial Product track

If you were not accepted to the flagship nFactorial program where you learn to build iOS and web applications, this program is the only preparation you need.

Personal growth

Even if you're not planning to be a software engineer, programming will help you look at the world in a completely different way. As an engineer - as someone who can break down a complex problem into simpler sub-problems. Programming with help you nurture your cognitive ability, problem-solving, logic, and creativity.

21st century career

"Software is eating the world". Software is transforming every industry even if they are not technical in nature: from shopping to farming. Start your 21st century career with the right foundation.

"Learning to code is the single best thing anyone can do to get the most out of the amazing future in front of us". -@pmarca