As a software engineer, understanding how data is processed under the hood is crucial. Many engineers can write code but have limited insight into the mechanics of data handling or algorithmic problem-solving. Solving problems with datasets like RDBMS tables or arrays helps you build a strong foundation for your career. These exercises will boost your confidence as a systems engineer and teach you to think creatively beyond conventional solutions.
We have 10 students from NBKRIST Vidyanagar Kota Tirupathi with marks in 5 subjects: Maths, Java, Python, C, and C++. Some students may have missed subjects, highlighted as Absent in red. Marks vary to simulate a realistic classroom scenario.
| Student Name | Maths | Java | Python | C | C++ |
|---|---|---|---|---|---|
| Revathi | 85 | 90 | 88 | 76 | 92 |
| Diya | 78 | 82 | Absent | 75 | Absent |
| Shakthi | 78 | 80 | 60 | 83 | Absent |
| Meera | 91 | 84 | 88 | 90 | 90 |
| Venkat | 55 | 69 | 50 | 72 | 74 |
| Meenakshi | 88 | 90 | 85 | 92 | 89 |
| Vikram | 40 | 45 | Absent | 35 | Absent |
| Saroja | 80 | 82 | 84 | 81 | 83 |
| Aditya | 92 | 95 | Absent | 93 | 88 |
| Saravana | 21 | Absent | 19 | 42 | Absent |
Compute the average marks for each student considering only the subjects they attended. Solving this problem teaches how to handle incomplete datasets and ensures accurate calculations, an essential skill for real-world software systems where data may be missing or inconsistent.
Using the averages from Problem 1, identify the student with the highest and lowest marks. This develops analytical skills and teaches you to extract meaningful insights efficiently—a key skill for evaluating performance metrics in software engineering.
Select students based on the number of subjects attended and their average marks. Identify students who attended all subjects, those with at least 4 subjects, and students below 50%. For students below 50%, calculate a running cumulative sum. This problem develops analytical thinking and decision-making skills essential for out-of-the-box problem-solving.
Group students into grade ranges: 100%-90%, 89%-80%, 79%-70%, 69%-60%, 59%-50%, and below 50%. Display the count and names per range. This exercise enhances skills in summarizing datasets and reporting insights—crucial for software systems engineers.
Identify the highest and lowest marks for each subject along with the students who achieved them, ignoring absentees. This teaches mapping arrays to real-world entities and handling missing data—skills vital for professional software development.