# ICTS Docs > Documentation and learning modules for ICTS. ## Docs - [ICTS learning hub](https://docs.icts.fyi/docs/en): Explore ICTS programming modules, community workshops, and ways to learn together. - [Introduction](https://docs.icts.fyi/docs/en/introduction): What ICTS provides and how the learning modules are organized. - [Community](https://docs.icts.fyi/docs/en/community): Connect with learners, contribute to the curriculum, and share your projects with ICTS. ## Modules - [Modules](https://docs.icts.fyi/docs/en/modules): Explore ICTS learning paths in C and Java, with guided lessons from fundamentals onward. ### C Programming - [C Programming](https://docs.icts.fyi/docs/en/modules/c): Learn C programming from zero to confident beginner with short lessons and compilable programs. - [1. Introduction to Programming](https://docs.icts.fyi/docs/en/modules/c/introduction-to-programming): A high-level overview of programming concepts, history, and where C fits in the landscape. - [2. Introduction to C Programming](https://docs.icts.fyi/docs/en/modules/c/introduction-to-c): Learn the core features of C, write your first program, and understand the compilation pipeline. - [3. C Fundamentals](https://docs.icts.fyi/docs/en/modules/c/c-fundamentals): Variables, constants, data types, and scope -- the building blocks of every C program. - [4. Operators in C](https://docs.icts.fyi/docs/en/modules/c/operators): Arithmetic, relational, logical, bitwise, assignment, and sizeof operators in C. - [5. Control Structures](https://docs.icts.fyi/docs/en/modules/c/control-structures): Branching with if/else and switch, looping with while, do-while, and for in C. - [6. Functions](https://docs.icts.fyi/docs/en/modules/c/functions): Function declaration, definition, parameters, return values, and pass-by-value semantics in C. - [7. Arrays](https://docs.icts.fyi/docs/en/modules/c/arrays): Declaration, initialization, indexing, iteration, and passing arrays to functions in C. - [8. Strings](https://docs.icts.fyi/docs/en/modules/c/strings): Working with null-terminated character arrays, string I/O, and common string functions in C. - [9. Pointers](https://docs.icts.fyi/docs/en/modules/c/pointers): Pointer declaration, dereferencing, arithmetic, and the relationship between arrays and pointers in C. - [10. Structures, Unions, and Enumerations](https://docs.icts.fyi/docs/en/modules/c/structs-unions-enums): Grouping related data with struct, sharing memory with union, and naming constants with enum in C. - [11. File Handling in C](https://docs.icts.fyi/docs/en/modules/c/file-handling): Reading and writing files using fopen, fclose, fprintf, fscanf, fgets, and related functions. - [12. Advanced Topics](https://docs.icts.fyi/docs/en/modules/c/advanced-topics): Dynamic memory allocation with malloc/free, recursion, and command-line arguments in C. ### Java - [Object-Oriented Programming with Java](https://docs.icts.fyi/docs/en/modules/java): A comprehensive course covering Java fundamentals through object-oriented programming concepts. - [Introduction to Java Programming](https://docs.icts.fyi/docs/en/modules/java/introduction): Java evolution, features, JVM/JRE/JDK, basic syntax, and compilation workflow. - [Data Types and Operators in Java](https://docs.icts.fyi/docs/en/modules/java/data-types): Primitive and non-primitive data types, type casting, and operators in Java. - [Control Statements in Java](https://docs.icts.fyi/docs/en/modules/java/control-statements): Selection, iteration, and jump statements along with method definitions in Java. - [Introduction to Object Orientation](https://docs.icts.fyi/docs/en/modules/java/oop-intro): The software crisis, OOP advantages, core concepts, and the four pillars of OOP. - [Basic Object-Oriented Concepts: Classes and Objects](https://docs.icts.fyi/docs/en/modules/java/classes-objects): Class definition, object instantiation, constructors, and instance methods in Java. - [Encapsulation](https://docs.icts.fyi/docs/en/modules/java/encapsulation): Data hiding, access modifiers, getter/setter methods, and static members in Java. - [Arrays in Java](https://docs.icts.fyi/docs/en/modules/java/arrays): One-dimensional and multi-dimensional arrays, declaration, initialization, and common operations. - [Strings in Java](https://docs.icts.fyi/docs/en/modules/java/strings): String creation, common methods, immutability, StringBuilder, and StringBuffer in Java. - [Inheritance](https://docs.icts.fyi/docs/en/modules/java/inheritance): Inheritance types, the super keyword, method overriding, and access modifiers in inheritance. - [Polymorphism](https://docs.icts.fyi/docs/en/modules/java/polymorphism): Compile-time and runtime polymorphism, method overloading and overriding in Java. - [Abstraction](https://docs.icts.fyi/docs/en/modules/java/abstraction): Abstract classes, interfaces, and the difference between abstraction and encapsulation. - [Exception Handling and Threading](https://docs.icts.fyi/docs/en/modules/java/exceptions-threads): Checked and unchecked exceptions, try-catch-finally, thread lifecycle, and synchronization. ## Workshops - [Workshops](https://docs.icts.fyi/docs/en/workshops): Workshop recordings and practical notes from the ICTS community. ### Designing for impact - [Overview](https://docs.icts.fyi/docs/en/workshops/designing-for-impact): Turn a real user problem into a focused, testable design idea. - [Find everyday friction](https://docs.icts.fyi/docs/en/workshops/designing-for-impact/friction-log): Start with a specific problem people encounter in a digital product. - [Write a hypothesis](https://docs.icts.fyi/docs/en/workshops/designing-for-impact/hypothesis): Connect a focused design change to an outcome you can measure. - [Sketch eight ideas](https://docs.icts.fyi/docs/en/workshops/designing-for-impact/crazy-8s): Explore several small solutions to the same problem before choosing one. - [Test and iterate](https://docs.icts.fyi/docs/en/workshops/designing-for-impact/test-and-iterate): Use a simple prototype or experiment to learn what helps people. ### Designing a first architecture on AWS - [Overview](https://docs.icts.fyi/docs/en/workshops/aws-architecture): CryptX 2.0 hackathon workshop recording about designing a first architecture on AWS. ### AI for faster execution - [Overview](https://docs.icts.fyi/docs/en/workshops/ai-for-faster-execution): CryptX 2.0 hackathon workshop recording about AI for faster execution. ### CTF awareness session - [Overview](https://docs.icts.fyi/docs/en/workshops/ctf-awareness): Capture The Flag awareness session hosted by ICTS as part of CryptX 2.0. ### Git and GitHub - [Overview](https://docs.icts.fyi/docs/en/workshops/git-and-github): Git and GitHub workshop recording from CryptX 2.0. ## සිංහල ### Docs - [ICTS ඉගෙනුම් මධ්‍යස්ථානය](https://docs.icts.fyi/docs/si): ICTS වැඩසටහන් මොඩියුල, ප්‍රායෝගික වැඩමුළු සහ ප්‍රජා සම්පත් සොයන්න. - [හැඳින්වීම](https://docs.icts.fyi/docs/si/introduction): ICTS භාවිතා කරන මොඩියුල සහ ඉගෙනීමේ ව්‍යුහය පිළිබඳ සාරාංශය. - [ප්‍රජාව](https://docs.icts.fyi/docs/si/community): ICTS සමඟ ඉගෙන ගන්නන් සම්බන්ධ කරගන්න, විෂයමාලාවට දායක වන්න, සහ ඔබේ ව්‍යාපෘති බෙදාගන්න. ### මාඩියුල - [මාඩියුල](https://docs.icts.fyi/docs/si/modules): C සහ Java හි ICTS ඉගෙනුම් මාර්ග, මූලික කරුණු සිට මඟ පෙන්වන පාඩම් දක්වා. ## தமிழ் ### Docs - [ICTS கற்றல் மையம்](https://docs.icts.fyi/docs/ta): ICTS நிரலாக்கத் தொகுதிகள், நடைமுறைப் பயிலரங்குகள் மற்றும் சமூக வளங்களை ஆராயுங்கள். - [அறிமுகம்](https://docs.icts.fyi/docs/ta/introduction): ICTS ஆவணங்கள் எவ்வாறு அமைந்துள்ளன என்பதற்கான சுருக்கம். - [சமூகம்](https://docs.icts.fyi/docs/ta/community): கற்பவர்களுடன் இணையவும், பாடத்திட்டத்திற்கு பங்களிக்கவும், உங்கள் திட்டங்களை ICTS சமூகத்துடன் பகிரவும். ### தொகுதிகள் - [தொகுதிகள்](https://docs.icts.fyi/docs/ta/modules): C மற்றும் Java கற்றலுக்கான ICTS வழிகாட்டல்கள், அடிப்படைகளிலிருந்து தொடர் பாடங்கள் வரை. ## Agent resources - [llms-full.txt](https://docs.icts.fyi/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://docs.icts.fyi/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://docs.icts.fyi/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://docs.icts.fyi/openapi.json. - [API catalog](https://docs.icts.fyi/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [AI catalog](https://docs.icts.fyi/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs). - [agent-readability.json](https://docs.icts.fyi/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://docs.icts.fyi/sitemap.xml): Every indexable page URL with its last-modified date.