Unit Name: Advanced Programming ConceptsAssignment 1: Understanding Fundamental Programming Concepts
Instructions:
1. Submission Format: Submit your assignment as a single PDF document.
2. Deadline: Your assignment is due by 11:59 PM on [insert due date here].
3. Submission Method: Upload your PDF document to the online course portal under the
“Assignments” section.
4. Plagiarism: Ensure that your work is original. Any form of plagiarism will result in a
zero grade.
5. Referencing: If you reference any external sources, include a reference list at the end of
your document using APA format.
6. Word Limit: Each question should be answered in approximately 300-500 words.
Assignment Questions:
1. Explain the concept of object-oriented programming (OOP). What are its main
principles?
o Discuss the four main principles of OOP: encapsulation, inheritance,
polymorphism, and abstraction.
o Provide examples to illustrate each principle.
2. What is the difference between a stack and a queue? Provide examples of their use
cases.
o Define stack and queue data structures.
o Explain the operations performed on each (e.g., push, pop for stack; enqueue,
dequeue for queue).
o Give real-world scenarios where each data structure would be appropriately used.
3. Describe what a database index is and explain how it improves query performance.
o Define a database index.
o Discuss how indexes are used to speed up the retrieval of records in a database.
o Explain the trade-offs involved in using indexes, such as space and maintenance
overhead.
4. What is the difference between synchronous and asynchronous programming?
When would you use one over the other?
o Define synchronous and asynchronous programming.
o Compare and contrast their operational mechanisms.
o Provide examples of scenarios or applications where each approach would be
advantageous.
5. Explain what a RESTful API is and describe its key characteristics.
o Define RESTful API.
o Discuss the architectural constraints of REST (e.g., statelessness, uniform
interface).
o
Provide an example of a RESTful API endpoint and explain how it adheres to
REST principles.
Evaluation Criteria:
•
•
•
•
•
Understanding of Concepts (40%): Demonstrates a clear and thorough understanding
of the programming concepts.
Clarity and Coherence (20%): Answers are well-organized, clear, and logically
structured.
Examples and Illustrations (20%): Uses relevant examples to support explanations.
Referencing and Citations (10%): Properly cites any external references used.
Grammar and Spelling (10%): Free from grammatical and spelling errors.
Note: If you have any questions regarding this assignment, please post them in the “Assignment
1 Q&A” forum on the course portal.
Good luck!