(Computer science Fundamentals)
Syllabus WebDev
The program is based on an Academic Bootcamp framework developed and delivered at Reichman University since 2018. The training consists of a combination of academic, university-level courses, and professional, industry-oriented courses. The academic courses are taught by instructors from the Efi Arazi School of Computer Science, and the professional courses by industry experts.


The program provides a theoretical foundation and practical training in the following fields:
- Computer science fundamentals
- Data structures and algorithms
- Python programming
- Advanced programming techniques
- Full-Stack web development (mostly JavaScript)
- Client-side development (mostly React) Server-side development (mostly Node.js)
- A variety of work-related skills

Introduction
- Programming in Python
- Testing and debugging
- Image processing
- File operations
- NumPy and SciPy
Object-Oriented Programming
- Basic concepts
- Class design
- Special methods
- Inheritance
Communications and Networks: OSI model, TCP/IP, UDP, HTTP protocols. Advanced Python programming: Socket programming, Restful APIs, Authentication, Multithreading, Flask and other special Python libraries.
**taught towards the program’s end, following the Professional Section stage described below
Algorithms
- Analysis of algorithms
- Computational complexity
- Search and sorting algorithms
- Inductive reasoning
- Iteration vs recursion
Data Structures
- Abstraction and implementation
- Stack, heap, priority queue
- Hash tables
- AVL trees
(Full Stack Web)

- HTML:Introduction, HTML tags, tables, classes, HTML Forms
- CSS: Basic concepts, Layout, text, fonts, pseudo, Position & other properties, CSS3, CSS specificity, SASS, Responsive CSS
- JAVASCRIPT:Javascript basics, Variables, operators, methods, Functions, arrays, objects, booleans, Events, conditions, debugging, ES6, Working with forms
- REACT: Basic concepts, Methods and rendering, Components, props, states, Lifecycle, events, forms, Data fetch, React + CSS, styled components

- Software Development Methodologies: Waterfall, Agile, TDD, SCRUM, Continuous Integration (CI), Continuous Delivery (CD)
- DATABASE MANAGEMENT: Relational / non-relational models, SQL, MySQL, NoSQL, MongoDB
- SERVER-SIDE DEVELOPMENT: NodeJS, Web applications, Micro services architecture, Security issues
- ADDITIONAL TOPICS

- Learn AI concepts: Machine Learning, Generative AI, LLM, AGI and more
- Capabilities and limitations of current AI tools
- Using generative AI to summarize content, learn and understand, develop and visualize ideas
- Human-in-the-loop approach with Gen AI
- The art of prompt engineering
- Using Gemini in Gmail, Docs, Slides and other Google Tools
- Learning with AI assistance: principles for effective learning

Design and implementation of an industrial-strength client-server application, featuring all the major topics learned in the program.

A flexible module that provides training in interpersonal communication skills, English skills, self-study skills, time management, accepting, facing, learning from failure. The methodology is based on short workshops and weekly meetings with professionals, industry leaders, and role models.
A flexible module that provides training in interviewing techniques, presentation skills, professional writing, industry know-how, teamwork, networking, and hi-tech culture.
A flexible module that orients candidates toward working in specific companies. To be designed and given by the partner companies