B.Sc. (Data Science) Mojo Syllabus - Mumbai University
This is the SY BSc Data Science syllabus under NEP 2020, in force from the academic year 2025-26. The University still sets the earlier Choice Based papers alongside it for ATKT candidates, so check which scheme your exam form names before you revise.
Loading syllabus...
Syllabus for Mojo
Module I: Basics of Mojo
- Write a “Hello, World!” program in Mojo. Objective: Get familiar with basic Mojo syntax and printing to the console.
- Demonstrate use of variable declaration and type annotation in Mojo. Objective: Understand the concept of static typing and variable mutability.
- Write a function in Mojo to calculate factorial using recursion. Objective: Practice function definitions and recursion in Mojo.
- Implement basic control flow: if-else and for-loops. Objective: Learn decision making and iteration constructs.
- Create a Fibonacci series generator using loops. Objective: Work with numerical sequences and loops.
- Data Types & Structures
- Demonstrate the use of Tuples and Structs in Mojo. Objective: Explore user-defined types and immutable data structures.
- Write a Mojo program to swap values using structs. Objective: Practice value encapsulation using struct.
- Implement a custom data type with methods (like a basic Point struct). Objective: Understand object-like behavior in Mojo.
- Loops, Functions & Memory Safety
- Write a function that accepts another function as an argument. Objective: Learn higher-order functions in Mojo.
- Demonstrate ownership and borrow semantics using memory-safe patterns. Objective: Understand how Mojo ensures memory safety similar to Rust.
Module II: Performance Programming Features
- Use fn [n] to define a generic function template. Objective: Practice generic programming and templates.
- Demonstrate the use of @parameter and @constexpr. Objective: Understand compile-time constants metaprogramming.
- Compare the performance of a Python-style loop vs a Mojo-style loop. Objective: Benchmark performance using %time or similar tools.
- Numerical & Array Programming
- Initialize and manipulate buffer[T, n] for static arrays. Objective: Understand fixed-size, low-level memory-efficient arrays.
- Implement a basic matrix addition using 2D buffers. Objective: Perform linear algebra operations with static buffers.
- Write a Mojo function to compute dot product of two vectors. Objective: Practice element-wise operations on arrays.
- AI & Accelerated Computing (Mojo's Strength)
- Write a basic kernel function in Mojo to multiply two vectors. Objective: Learn about low-level SIMD/vectorized operations.
- Write a parallel for loop using for (i in grid(0, n)) syntax. Objective: Explore Mojo’s ability to parallelize computation.
- Use Mojo to define a custom neural layer (basic forward pass simulation). Objective: Apply Mojo in AI/ML use cases with modular compute.
- Interfacing with Python (Mojo-Python Interop)
- Call a Python function from Mojo using python blocks. Objective: Understand Mojo's interoperability with Python and reuse existing libraries.
- Textbooks / Online References:
- Official Mojo Documentation- https://docs.modular.com/mojo/
- Mojo Playground- https://playground.modular.com/
- Towards Data Science – Mojo Articles https://towardsdatascience.com/tagged/mojo
- Mojo Tutorials by Hugging Face - https://huggingface.co/mojo
References
- 1 https://docs.modular.com/mojo/manual/variables
- 2 https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and- Opinions/First-Mojo-Program-AI-ML-Hello-World-Number-Guesser-Modular
- 3 https://medium.com/@ajeenckyagadewar/mastering-mojo-in-depth-tutorial- e5754b01e62d
- 4 https://github.com/modular/max/tree/main/tutorials
- 5 https://refine.dev/blog/mojo-programming-language/#including-additional- languages-optional
Reproduced from the University of Mumbai syllabus for B.Sc. (Data Science) under NEP 2020, in force from the academic year 2025-26. Wording is as printed in that syllabus. Module numbering is as printed there too.
The complete syllabus
This subject is cut from the University circular for its year. Open a document here if you want the whole thing rather than a single subject.