Assignments
Programming assignments and homework
Programming Assignments
Assignment 1: Process API
Due: Aug 27
Practice with the process API, including fork(), exec(), and wait() system calls.
Files: Assignment 1 PDF
Assignment 2: Memory Management
Due: Nov 15
Implement memory management techniques including malloc/free and virtual memory concepts.
Files: Assignment 2 PDF
Homework Assignments
Homework 1: CPU Scheduling
Due: Sep 4
Implement and analyze different CPU scheduling algorithms.
Files: Homework 1 PDF
Homework 2: Concurrency
Due: Oct 22
Programming exercises on threads, locks, and synchronization.
Files: Homework 2 PDF
Assignment Guidelines
Submission Requirements
- All code must compile and run on the provided Ubuntu VM
- Include a README with compilation and execution instructions
- Submit via the course management system
- Late submissions: 10% penalty per day
Grading Criteria
- Correctness (60%): Does the solution work as specified?
- Code Quality (25%): Clean, readable, well-commented code
- Documentation (10%): Clear README and inline comments
- Efficiency (5%): Reasonable performance and resource usage
Academic Integrity
- Individual assignments must be completed independently
- You may discuss concepts but not share code
- Cite any external resources or references used
- Plagiarism will result in course failure
Getting Help
- Office Hours: Weekly sessions with instructor and TAs
- Discussion Forum: Ask questions and help classmates
- Lab Sessions: Hands-on assistance during lab hours
- Email: Contact TAs for specific questions
Tips for Success
- Start assignments early to avoid last-minute issues
- Test your code thoroughly on the provided VM
- Document your code as you write it
- Ask questions if you’re stuck - don’t wait until the deadline