An open API service indexing awesome lists of open source software.

https://github.com/shahriar-raj/cse_102-structured-programming-language-sessional

This repository contains all home and lab assignments for the CSE 102: Structured Programming Language Sessional course, part of our Term-1, Level-1 curriculum. It applies theories from CSE 101 to problem-solving. We also learned igraphics (an OpenGL library) for animations, culminating in a term project.
https://github.com/shahriar-raj/cse_102-structured-programming-language-sessional

academic c igraphics-project problem-solving programming structured-programming

Last synced: 8 days ago
JSON representation

This repository contains all home and lab assignments for the CSE 102: Structured Programming Language Sessional course, part of our Term-1, Level-1 curriculum. It applies theories from CSE 101 to problem-solving. We also learned igraphics (an OpenGL library) for animations, culminating in a term project.

Awesome Lists containing this project

README

          

# CSE 102: Structured Programming Language Sessional
This repository hosts all **home** and **lab assignments** for the **CSE 102: Structured Programming Language Sessional** course, a part of the **Term-1, Level-1** curriculum. The coursework builds upon the foundational theories from **CSE 101** and applies them to real-world problem-solving. Additionally, the course introduces **igraphics**, an OpenGL-based library, for creating animations, culminating in a term project.

---

## **Assignments Overview**

### **Offlines (Home Assignments)**
1. **Offline-1**: Focuses on **1D Arrays**.
2. **Offline-2**: Explores **2D Arrays** and **Strings**.

### **Onlines (Lab Assignments)**
Each lab assignment delves into key concepts of structured programming:

1. **![Status](https://img.shields.io/badge/Online-1-brightgreen)**: *Branching and Basic Arithmetic*
- **Problem 1**: Determining the intersection point of two lines.
- **Problem 2**: Evaluating whether a given point lies *on*, *inside*, or *outside* a circle based on its radius and center.

2. **![Status](https://img.shields.io/badge/Online-2-brightgreen)**: *Loops*
- **Problem 1**: Printing specific star patterns.
- **Problem 2**: Calculating the **LCM** dynamically as new numbers are added (without arrays).

3. **![Status](https://img.shields.io/badge/Online-3-brightgreen)**: *1D Arrays and Functions*
- Sorting numbers based on the number of `1s` in their binary representation, with ties resolved using factor numbers.

4. **![Status](https://img.shields.io/badge/Online-4-brightgreen)**: *Array, Strings, and Recursion*
- Identifying the presence and frequency of a substring within a given string.

5. **![Status](https://img.shields.io/badge/Online-5-brightgreen)**: *Pointers and Structures*
- **Problem 1**: Implementing a structure to multiply and divide complex numbers.
- **Problem 2**: Concatenating two strings using pointers (without built-in string functions).

---

## **Special Projects**

### **Assignment with igraphics**
A unique assignment involving **sine** and **cosine curves**, where users can dynamically adjust the **wavelength** and **amplitude** of the curves.

---

### **Term Project: "Catch the Egg"**

**"Catch the Egg"** is an engaging and interactive game developed as the capstone project for this course. It showcases the use of **igraphics** for graphical programming and introduces students to the basics of game development.

#### **Key Features:**
- **Graphics and Animation**: Smooth animations and visually appealing graphics powered by the **igraphics** library.
- **User Interaction**: Players control a basket using keyboard inputs to catch falling eggs.
- **Score Tracking**: The game tracks the player's score, which increases with each successful catch.
- **Increasing Difficulty**: The speed and frequency of falling eggs increase progressively, adding to the challenge.

---

## **About igraphics**
**igraphics** is a lightweight and educational graphics library built on **OpenGL**. It provides an intuitive interface for creating graphical applications, making it an excellent tool for beginners.

---

This project not only enhances programming skills but also introduces students to the fundamentals of **game development** and **graphical programming**, offering a comprehensive and enjoyable learning experience.

---

Feel free to explore the repository and dive into the code to see how these concepts were implemented!