Learning Program: Difference between revisions

From MediaWiki
Jump to navigation Jump to search
 
(54 intermediate revisions by 2 users not shown)
Line 7: Line 7:
===First year===
===First year===
*[[#Orientation|Orientation]]
*[[#Orientation|Orientation]]
*[[#Foundations of Computing|Foundations of Computing]]
*[[#Introductory Lessons|Introductory Lessons]]
*[[#NAND2Tetris|NAND2Tetris]]
*[[#NAND2Tetris|NAND2Tetris]]
*[[#Introduction to Electronics|Introduction to Electronics]]
*[[#Learning Projects|Projects]]


===Beyond the first year===
===Beyond the first year===
*[[#After Initial Learning|Pathway projects]]
*[[#Choose Your Own Adventure|Choose your own adventure]]
*[[#Choose Your Own Adventure|Choose your own adventure]]


== Orientation ==
= Orientation =


[[File:mysteryvideo.png|thumb|This man failed to watch the mystery video.]]
[[File:mysteryvideo.png|thumb|This man failed to watch the mystery video.]]


Each new intern must attend the orientation sessions. Depending on the capabilities of the new students, this will take only one or two sessions. As students will be accessing the command line interface (CLI) of Unix-based OSes as opposed to exclusively the graphical user interface (GUI), it is critical that the students gain adequate familiarity with these systems.
Each new intern must attend the orientation sessions. Depending on the capabilities of the new students, this will take only a few sessions. As students will be accessing the command line interface (CLI) of Unix-based OSes as opposed to exclusively the graphical user interface (GUI), it is critical that the students gain adequate familiarity with these systems.
* Interns will be guided through the Code of Conduct, Safety Guidelines, schedule, expectations and will be assigned a laptop for working through the lessons.
* New students will review the program requirements, schedule, expectations and will be assigned a laptop for working through the lessons.
* All students must review and adhere to the Code of Conduct, Safety Guidelines, and department policies. Time will be spent reviewing these requirements.
* Interns are introduced to Unix-based computer operating systems. Where files are stored, how to navigate in the CLI, how to execute and use common Unix commands, and how to interface between the GUI and the CLI.
* Interns are introduced to Unix-based computer operating systems. Where files are stored, how to navigate in the CLI, how to execute and use common Unix commands, and how to interface between the GUI and the CLI.


Line 30: Line 32:
Ensure that you learn the shocking truth before proceeding too deeply into your internship!!
Ensure that you learn the shocking truth before proceeding too deeply into your internship!!


== Introductory Lessons ==
== Foundations of Computing ==


[[File:slideshowscreenshot.png|thumb|A screenshot of one of the slideshows.]]
[[File:slideshowscreenshot.png|thumb|A screenshot of one of the slides.]]


The [[#nand2tetris|NAND2Tetris]] program requires some prerequisite knowledge- that is, a foundation in certain computing concepts is needed before you can proceed. These lessons are intended to provide that necessary foundation. New interns will go through a series of lessons to help better understand essential computer engineering concepts.
The [[#nand2tetris|NAND2Tetris]] program requires some prerequisite knowledge - a foundation in certain computing concepts that is needed before you can proceed. These lessons are intended to provide that necessary foundation. New interns will go through a series of lessons to help better understand essential computer engineering concepts.


The lessons cover:
The lessons cover:
* The origins of computing, what a "computer" is, the evolution of the computer over time
* The origins of computing, what a "computer" is, the evolution of computer devices over time
* The mathematics (both arithmetical and logical math) behind computing functionality.
* The mathematics (both arithmetical and logical math) behind computing functionality.
* The fundamental building blocks of mechanical and digital electronic computers.
* The fundamental building blocks of mechanical and digital electronic computers.
* Basic electrical circuits, semiconductor physics, diodes, transistors and logic gate operation.
* Basic electrical circuits, semiconductor physics, diodes, transistors and logic gate operation.


'''Note:''' The mathematical concepts in this course are very complex. Experience has shown that these concepts are not beyond the understanding of a high school Freshman but it is important that all interns have a strong understanding of math and an enjoyment of the subject.
'''Note:''' The mathematical concepts in this learning program can range from basic to very complex. Experience has shown that these concepts are not beyond the comprehension of a high school Freshman but it is important that all interns have a strong understanding of math and an enjoyment of the subject.


== NAND2Tetris ==
== NAND2Tetris ==
Line 49: Line 51:
[[File:nand2tetriswebsite.png|thumb|A screenshot of [https://www.nand2tetris.org/ nand2tetris.org]]]
[[File:nand2tetriswebsite.png|thumb|A screenshot of [https://www.nand2tetris.org/ nand2tetris.org]]]


The [https://www.nand2tetris.org NAND2Tetris] course aims to teach the essentials of computer design and operation through a ground-up approach. This is done by having the students build a computer from scratch. The computer design is simple but sufficiently powerful to demonstrate key concepts of computing including hardware and software.
The [https://www.nand2tetris.org NAND2Tetris] course aims to teach the essentials of computer design and operation through a ground-up approach. This is done by having the students build a virtual computer from scratch. The computer design is simple but sufficiently powerful to demonstrate key concepts of computing including hardware and software.


Throughout this course, you will learn about logic gates, boolean algebra, assembly language, operating systems, and more.
Throughout this course, you will learn about logic gates, boolean algebra, assembly language, high-level programming languages, operating systems, and more.


We start from the NAND logic gate (which is covered in great depth during the introductory learning sessions) and build up towards a functioning, Turing-complete computer which you can program. The culminating project for students is to program Tetris to run on this computer.
We start from the NAND logic gate (which is covered in great depth during the introductory learning sessions) and build up towards a functioning, Turing-complete computer which you can program. The name of this program comes from one possible culminating project for students which is to program Tetris to run on this computer.


<blockquote>"The book exposes students to a significant body of computer science knowledge, gained through a series of hardware and software construction tasks. These tasks demonstrate how theoretical and applied techniques taught in other computer science courses are used in practice. In particular, the following topics are illustrated in a hands-on fashion..."</blockquote>
<blockquote>"The book exposes students to a significant body of computer science knowledge, gained through a series of hardware and software construction tasks. These tasks demonstrate how theoretical and applied techniques taught in other computer science courses are used in practice. In particular, the following topics are illustrated in a hands-on fashion..."</blockquote>
Line 85: Line 87:
'''Note:''' Be aware that the material presented is intended for students of computer science and other engineering disciplines in colleges and universities, at both the undergraduate (typically college Sophomore level or higher) and graduate levels. Prospective interns need to be very conscious of this and take into account the significant amount of time and work this will involve. Students with limited time should avoid compounding their situations.
'''Note:''' Be aware that the material presented is intended for students of computer science and other engineering disciplines in colleges and universities, at both the undergraduate (typically college Sophomore level or higher) and graduate levels. Prospective interns need to be very conscious of this and take into account the significant amount of time and work this will involve. Students with limited time should avoid compounding their situations.


== Learning Projects ==
== Introduction to Electronics ==
[[File:leds.png|thumb|An introductory project controlling LEDs.]]
[[File:leds.png|thumb|An introductory project controlling LEDs.]]
[[File:clock.png|thumb|Digital Clock.]]
[[File:clock.png|thumb|Digital Clock.]]
'''Dice Project''' - Concurrent to the NAND2Tetris learning, first year interns will gain an understanding of digital electronics through a series of laboratory exercises. They will learn about electronic circuits, logic gates, and timers over the course of a number of digital electronic laboratories (click '''[[eLabs|here]]''' for more details on the introductory digital electronics labs). Students will learn how to read and write schematics to document their progress. This introduction to digital electronics is useful for prospective computer and electrical engineers. Students will learn about electrical components and concepts such as...
[[File:Calculator.png|thumb|Building a calculator.]]
All interns are required to work on a project to enhance their knowledge and skills. First year interns will gain an understanding of electronic circuits, logic gates, and timers over the course of a number of [[eLabs|electronic lab sessions]] to create a digital electronic clock. Students will learn how to read and write schematics to document their progress. This introduction to digital electronics is useful for prospective computer scientists and electrical engineers.


* Ohm's Law
After the first year, interns can choose from projects already developed in the program or design a new project. Through the IT department, interns have access to various tools and components to work on a wide range of projects.
* Batteries and power supplies
* Resistors, capacitors, lamps, and relays
* Semiconductor elements such as diodes, transistors and LEDs
* Counters and oscillators/timers (astable multivibrators)


The learning program will take you through the process of building a small toy. An electronic device that will simulate the randomized roll of a die.
Examples of pre-designed project builds available...

'''Clock Project''' - A next step up from the dice project is to build a digital clock. Using similar logic ICs and oscillators used from the dice project, we look at how to control multiple 7-segment displays to display time. Students will learn about...

* 7-Segment display driver ICs
* BCD counters with ripple carryover
* Crystal oscillators

= After Initial Learning =
All interns are required to work on learning projects to enhance their knowledge and skills. After the first year, interns will choose a pathway to specialize in. Pathways are computer science, information technology, and mechatronics engineering. You can then choose from a variety of pre-designed projects available to walk through and learn from or you can design a new project.

''Through the IT department, interns have access to various tools and components to work on a wide range of projects or students can bring in their own equipment to supplement.''


== Computer Science Projects ==
[[File:2DGameEngine1.png|thumb|Screen From 2D Game Engine Programming.]]
Students will learn advanced programming techniques and algorithms to solve complex problems.
''('''Note''': it is highly recommended that students interested in computer science sign up for the Running Start program in 11th and 12th grade to take college level classes in computer programming and mathematics classes in linear algebra and/or probability and statistics)''
* [[2D Game Engine|Programming Computer Graphics]] - In this program, students will learn how computer graphics work by building a graphics engine for developing games. Students initially learn about the interconnections between HTML rendering on web-pages and the WebGL graphics engine. The students are walked through a series of chapters building on a project to rendering objects, textures, sprites, double buffering, illumination, particle systems, collision detection and parallax. Students will use the concepts learned to build their own graphics programs and games.
* [[Artificial Intelligence|Programming Artificial Intelligence]] - Students will learn about and use the various algorithms that simulate human reasoning. You will learn how to build AIs using the [[Python|Python]] programming language that play games to understanding how deep learning, large language models and how neural networks work.
* Web server build - Students build an Apache web server and learn how to develop web applications and understand backend systems such as SQL databases, manage information flows and use frameworks.
* Web server build - Students build an Apache web server and learn how to develop web applications and understand backend systems such as SQL databases, manage information flows and use frameworks.

* Microcontroller projects - Learn how to use microcontrollers and FPGAs to build hardware to accomplish varying tasks. We learn how to do complex tasks using Arduino, Teensy, ESP32 microcontrollers, Rasberry Pi SOCs, Xilinix and iCE40 FPGA development boards.
== Digital Electronics Projects ==
* Linux server projects - Using virtualized servers, students can build interconnected systems in a flat or hierarchical networked environment to understand system administration concepts.
[[File:Calculator.png|thumb|Building a calculator.]]
* Microcontroller projects - Learn how to use [[MCUs and FPGAs|microcontrollers and FPGAs]] to control hardware actuators to accomplish various tasks. You will learn how to do complex tasks using microcontrollers such as the Arduino, Teensy, and ESP32, SOCs such as the Rasberry Pi and FPGA development boards using the Xilinx Artix-7 and the Lattice Semiconductor iCE40 FPGA. This gives students an in depth understanding of hardware and communications.

* [[Computer build|Calculator Project]] - Using the knowledge gained from the microcontroller projects, students will build the subsystems that make up a computer by wiring chips and logic gates together. This series of projects uses breadboards, microprocessors, FPGAs, SRAM and EEPROMs for the physical build and assembly language to control it. This is a major culminating project usually done by seniors. Student teams are formed to build the hardware and program the software to make a functional calculator.

== Information Technology Projects ==

* Computer system administration - Using real and virtualized servers, students can build interconnected systems in a flat as well as hierarchical networked environment to understand system administration concepts.
* Networking projects - Students build a physical network to learn about network communication processes and standards. Advanced projects have students learn how DNS, DHCP, VLANs and other technologies work within a network infrastructure. At [[District Network Schema|District Network Schema]], you can see and overview of the school district network connectivity map.
* Networking projects - Students build a physical network to learn about network communication processes and standards. Advanced projects have students learn how DNS, DHCP, VLANs and other technologies work within a network infrastructure. At [[District Network Schema|District Network Schema]], you can see and overview of the school district network connectivity map.
* Cybersecurity - Students will learn about key concepts in the field of cybersecurity. Using a learning program used by IT engineers, students can prepare for the CompTIA Security+ certification.
* Computer build - Students will build the subsystems that make up a computer by wiring chips and logic gates together. This series of projects uses breadboards, microprocessors, FPGAs, SRAM and EEPROMs for the physical build and assembly language to control it. This is a major culminating project usually done by seniors. Student teams are formed to build the hardware and program the software to make a functional calculator.

* Programming Computer Graphics - Learn how computer graphics work by building a graphics engine for developing games. Students are walked through a series of projects to learn about rendering objects, textures, sprites, double buffering, illumination, particle systems, collision detection and parallax.
== Mechatronics Projects ==
Engineering students will be introduced to engineering through mechatronics. As the field is a combination of electrical engineering, mechanical engineering, computer science and information technology, the engineering track will provide the most exposure to a wide range of topics.
''('''Note''': it is highly recommended that students interested in engineering sign up for the Running Start program in 11th and 12th grade to sign up for college level physics and calculus) ''
* Electrical Engineering - students will engage in circuit analysis using Ohm's Law, Norton/Thevenin equivalents, and wye-delta transformations while gaining a foundational understanding of resistors, capacitors, and inductive elements.
* Computer Science - with a basic understanding of EE, students will program microcontrollers to understand the role of actuators in mechatronics engineering. Students will learn how to program in [[Python|Python]] and C programming languages to handle input/output and communication between components.
* Robotics - after learning about electronics, microcontrollers, motors and sensors, students will use and build various robotic mechanisms including rovers and robotic arms to build autonomous and controlled systems using several [[Robotic Projects|robotics kits]]. Students will learn to use CAD software to design the 3D prints to build components.


== Choose Your Own Adventure ==
= Choose Your Own Adventure =


After the first year, interns have the option to engage in a more free-form curriculum, based on the interests of the group. Interns have chosen to pursue networking, cybersecurity, and programming curricula.
After the first year, interns have the option to engage in a more free-form learning process, based on the interests of the group. Interns have chosen to pursue networking, cybersecurity, and programming curricula.


Interns can propose a custom project that better fits with their interests. These projects would be vetted by a coordinator and evaluated for how well they pertain to identified learning objectives. Students must fully document their progress so that it can become part of the portfolio of project ideas for other interns.
Interns can propose a custom project that better fits with their interests. These projects would be vetted by a coordinator and evaluated for how well they pertain to identified learning objectives. Students must fully document their progress so that it can become part of the portfolio of project ideas for other interns.
Line 112: Line 150:
* Cybersecurity lab - students can setup servers to practice cybersecurity techniques to implement red/black/grey hat teams to test breach and detection methodologies.
* Cybersecurity lab - students can setup servers to practice cybersecurity techniques to implement red/black/grey hat teams to test breach and detection methodologies.


Additionally, after the first year, you will be eligible to participate in [[Field Work|field work]] more often.
After the first year, students aged 17+ will be eligible to participate in [[Field Work|field work]].

Latest revision as of 15:36, 9 October 2025

Some whiteboard scribblings.

The main objective of the internship is to learn. When you first start, you will be part of the initial learning program. The learning program is formatted like a school classroom consisting of learning lectures, labs, and projects. The vast majority of learning activities will involve hands-on projects so all students are provided a computer that they can program on. Most intern groups opt for quizzes and optional homework assignments to help reinforce the learned topics to keep on track.

Objectives

First year

Beyond the first year

Orientation

This man failed to watch the mystery video.

Each new intern must attend the orientation sessions. Depending on the capabilities of the new students, this will take only a few sessions. As students will be accessing the command line interface (CLI) of Unix-based OSes as opposed to exclusively the graphical user interface (GUI), it is critical that the students gain adequate familiarity with these systems.

  • New students will review the program requirements, schedule, expectations and will be assigned a laptop for working through the lessons.
  • All students must review and adhere to the Code of Conduct, Safety Guidelines, and department policies. Time will be spent reviewing these requirements.
  • Interns are introduced to Unix-based computer operating systems. Where files are stored, how to navigate in the CLI, how to execute and use common Unix commands, and how to interface between the GUI and the CLI.

New interns are also given a screening of "The Mystery Video".

This video is crucial for understanding computer-related things like magic and tubes.

If you do not watch this video, you will not achieve enlightenment.

Ensure that you learn the shocking truth before proceeding too deeply into your internship!!

Foundations of Computing

A screenshot of one of the slides.

The NAND2Tetris program requires some prerequisite knowledge - a foundation in certain computing concepts that is needed before you can proceed. These lessons are intended to provide that necessary foundation. New interns will go through a series of lessons to help better understand essential computer engineering concepts.

The lessons cover:

  • The origins of computing, what a "computer" is, the evolution of computer devices over time
  • The mathematics (both arithmetical and logical math) behind computing functionality.
  • The fundamental building blocks of mechanical and digital electronic computers.
  • Basic electrical circuits, semiconductor physics, diodes, transistors and logic gate operation.

Note: The mathematical concepts in this learning program can range from basic to very complex. Experience has shown that these concepts are not beyond the comprehension of a high school Freshman but it is important that all interns have a strong understanding of math and an enjoyment of the subject.

NAND2Tetris

Noam Nisan & Shimon Schocken's The Elements of Computing Systems
A screenshot of nand2tetris.org

The NAND2Tetris course aims to teach the essentials of computer design and operation through a ground-up approach. This is done by having the students build a virtual computer from scratch. The computer design is simple but sufficiently powerful to demonstrate key concepts of computing including hardware and software.

Throughout this course, you will learn about logic gates, boolean algebra, assembly language, high-level programming languages, operating systems, and more.

We start from the NAND logic gate (which is covered in great depth during the introductory learning sessions) and build up towards a functioning, Turing-complete computer which you can program. The name of this program comes from one possible culminating project for students which is to program Tetris to run on this computer.

"The book exposes students to a significant body of computer science knowledge, gained through a series of hardware and software construction tasks. These tasks demonstrate how theoretical and applied techniques taught in other computer science courses are used in practice. In particular, the following topics are illustrated in a hands-on fashion..."

Hardware Logic gates, Boolean arithmetic, multiplexors, flip-flops, registers, RAM units, counters, Hardware Description Language (HDL), chip simulation and testing.
Architecture ALU/CPU design and implementation, machine code, assembly language programming, addressing modes, memory-mapped input/output (I/O).
Operating systems Memory management, math library, basic I/O drivers, screen management, file I/O, high-level language support.
Programming languages Object-based design and programming, abstract data types, scoping rules, syntax and semantics, references.
Compilers Lexical analysis, top-down parsing, symbol tables, virtual stack-based machine, code generation, implementation of arrays and objects.
Data structures and algorithms Stacks, hash tables, lists, recursion, arithmetic algorithms, geometric algorithms, running time considerations.
Software engineering Modular design, the interface/implementation paradigm, API design and documentation, proactive test planning, programming at the large, quality assurance.

The learning paradigm is based on an abstraction-implementation. Students will be presented with concepts and be asked to build something in a virtualized environment. Using what they built, the can build something more complex abstracting away the details of the subordinate components. Though everything is presented virtually, the concepts are concrete. A true physical computer could be built with these parts.

Note: Be aware that the material presented is intended for students of computer science and other engineering disciplines in colleges and universities, at both the undergraduate (typically college Sophomore level or higher) and graduate levels. Prospective interns need to be very conscious of this and take into account the significant amount of time and work this will involve. Students with limited time should avoid compounding their situations.

Introduction to Electronics

An introductory project controlling LEDs.
Digital Clock.

Dice Project - Concurrent to the NAND2Tetris learning, first year interns will gain an understanding of digital electronics through a series of laboratory exercises. They will learn about electronic circuits, logic gates, and timers over the course of a number of digital electronic laboratories (click here for more details on the introductory digital electronics labs). Students will learn how to read and write schematics to document their progress. This introduction to digital electronics is useful for prospective computer and electrical engineers. Students will learn about electrical components and concepts such as...

  • Ohm's Law
  • Batteries and power supplies
  • Resistors, capacitors, lamps, and relays
  • Semiconductor elements such as diodes, transistors and LEDs
  • Counters and oscillators/timers (astable multivibrators)

The learning program will take you through the process of building a small toy. An electronic device that will simulate the randomized roll of a die.

Clock Project - A next step up from the dice project is to build a digital clock. Using similar logic ICs and oscillators used from the dice project, we look at how to control multiple 7-segment displays to display time. Students will learn about...

  • 7-Segment display driver ICs
  • BCD counters with ripple carryover
  • Crystal oscillators

After Initial Learning

All interns are required to work on learning projects to enhance their knowledge and skills. After the first year, interns will choose a pathway to specialize in. Pathways are computer science, information technology, and mechatronics engineering. You can then choose from a variety of pre-designed projects available to walk through and learn from or you can design a new project.

Through the IT department, interns have access to various tools and components to work on a wide range of projects or students can bring in their own equipment to supplement.


Computer Science Projects

Screen From 2D Game Engine Programming.

Students will learn advanced programming techniques and algorithms to solve complex problems. (Note: it is highly recommended that students interested in computer science sign up for the Running Start program in 11th and 12th grade to take college level classes in computer programming and mathematics classes in linear algebra and/or probability and statistics)

  • Programming Computer Graphics - In this program, students will learn how computer graphics work by building a graphics engine for developing games. Students initially learn about the interconnections between HTML rendering on web-pages and the WebGL graphics engine. The students are walked through a series of chapters building on a project to rendering objects, textures, sprites, double buffering, illumination, particle systems, collision detection and parallax. Students will use the concepts learned to build their own graphics programs and games.
  • Programming Artificial Intelligence - Students will learn about and use the various algorithms that simulate human reasoning. You will learn how to build AIs using the Python programming language that play games to understanding how deep learning, large language models and how neural networks work.
  • Web server build - Students build an Apache web server and learn how to develop web applications and understand backend systems such as SQL databases, manage information flows and use frameworks.

Digital Electronics Projects

Building a calculator.
  • Microcontroller projects - Learn how to use microcontrollers and FPGAs to control hardware actuators to accomplish various tasks. You will learn how to do complex tasks using microcontrollers such as the Arduino, Teensy, and ESP32, SOCs such as the Rasberry Pi and FPGA development boards using the Xilinx Artix-7 and the Lattice Semiconductor iCE40 FPGA. This gives students an in depth understanding of hardware and communications.
  • Calculator Project - Using the knowledge gained from the microcontroller projects, students will build the subsystems that make up a computer by wiring chips and logic gates together. This series of projects uses breadboards, microprocessors, FPGAs, SRAM and EEPROMs for the physical build and assembly language to control it. This is a major culminating project usually done by seniors. Student teams are formed to build the hardware and program the software to make a functional calculator.

Information Technology Projects

  • Computer system administration - Using real and virtualized servers, students can build interconnected systems in a flat as well as hierarchical networked environment to understand system administration concepts.
  • Networking projects - Students build a physical network to learn about network communication processes and standards. Advanced projects have students learn how DNS, DHCP, VLANs and other technologies work within a network infrastructure. At District Network Schema, you can see and overview of the school district network connectivity map.
  • Cybersecurity - Students will learn about key concepts in the field of cybersecurity. Using a learning program used by IT engineers, students can prepare for the CompTIA Security+ certification.

Mechatronics Projects

Engineering students will be introduced to engineering through mechatronics. As the field is a combination of electrical engineering, mechanical engineering, computer science and information technology, the engineering track will provide the most exposure to a wide range of topics. (Note: it is highly recommended that students interested in engineering sign up for the Running Start program in 11th and 12th grade to sign up for college level physics and calculus)

  • Electrical Engineering - students will engage in circuit analysis using Ohm's Law, Norton/Thevenin equivalents, and wye-delta transformations while gaining a foundational understanding of resistors, capacitors, and inductive elements.
  • Computer Science - with a basic understanding of EE, students will program microcontrollers to understand the role of actuators in mechatronics engineering. Students will learn how to program in Python and C programming languages to handle input/output and communication between components.
  • Robotics - after learning about electronics, microcontrollers, motors and sensors, students will use and build various robotic mechanisms including rovers and robotic arms to build autonomous and controlled systems using several robotics kits. Students will learn to use CAD software to design the 3D prints to build components.

Choose Your Own Adventure

After the first year, interns have the option to engage in a more free-form learning process, based on the interests of the group. Interns have chosen to pursue networking, cybersecurity, and programming curricula.

Interns can propose a custom project that better fits with their interests. These projects would be vetted by a coordinator and evaluated for how well they pertain to identified learning objectives. Students must fully document their progress so that it can become part of the portfolio of project ideas for other interns.

Examples of custom projects include...

  • Website - students can setup servers and create websites to learn about the underlying technologies that run them. The website that you are on right now was built by students as an information repository for interns. Their work was interrupted due to the pandemic so there is a lot of room for continuing the development and growth of the site.
  • Network infrastructure design - students can build small network with switches, routers, firewalls and servers to learn the fundamentals of network administration.
  • Cybersecurity lab - students can setup servers to practice cybersecurity techniques to implement red/black/grey hat teams to test breach and detection methodologies.

After the first year, students aged 17+ will be eligible to participate in field work.