CM2015 Midterm Coursework Assignment
This coursework is worth 50 marks.
Chatbot Project
Now that you have had a chance to explore some techniques and tools in Python, it is time to start integrating them into your own chatbot project. This is a chance for you to build a practical application using your knowledge of Python and Data Programming.
Expectations
- Develop a functional and interactive chatbot without errors.
- Demonstrate a strong use of core Python concepts, including:
o Data structures (dictionaries, lists, tuples) to managing intents, patterns, and responses. o Using Conditional logic and loops appropriately to drive chatbot interaction.
o Implementing functional and modular programs breaking logic into clear, reusable functions with well-defined inputs and outputs. o Organising code into multiple files (code + data) or modules to enhance maintainability and readability. - Adopt software engineering best practices by keeping code modular and reusable using functions, classes (optional), and configuration files (e.g., JSON).
- Write test cases to verify and highlight the chatbot’s functionality and robustness.
- Include clear and consistent documentation using comments.
- Utilise Data Processing Techniques to clean and tokenise input data (e.g., user queries or pattern sets).
- Uses libraries like NLTK, re (regex) for pattern matching, and tokenisation.
- Implements basic NLP features, such as stop word removal, stemming/lemmatisation, or part-of-speech tagging.
- (Optional) Incorporates sentiment analysis, keyword extraction, or named entity recognition for more intelligent responses.
Submission Requirements
For the midterm coursework, you will submit the following documents on the submission page:
- A shareable link to the Jupyter notebook environment that has o A single Jupyter notebook file with chatbot demo (ipynb file) o Supplementary dataset (intents.json file). The dataset (intents.json) should not be more than 10MB in total size.
o A PDF report - Project ZIP file o ZIP file with all the files in the Jupyter notebook environment (ipynb, intents.json, PDF).
- An exported HTML file o Export the Jupyter notebook code into a HTML file and submit it.
- PDF report o A copy of the PDF report.
🔹 Need Help With CM2015 Programming with Data Coursework?
Native Singapore Writers Team
- 100% Plagiarism-Free Essay
- Highest Satisfaction Rate
- Free Revision
- On-Time Delivery
CM2015 Marking rubric
The marking rubric includes a description of expectations and deliverables. Sections and corresponding marks given below.
| Sub
part |
Criteria | Marks awarded | Mark breakdown |
| 1 | Title/Domain of chatbot | 1 | Provide the title of chatbot in the Jupyter notebook |
| 2 | Main loop | 3 | Chatbot uses a main loop that takes in user input and terminates only when the user types “exit” or “quit”. |
| 3 | Data Structures | 3 | The data structures used to manage intents, patterns, and responses are compact and involve the use of Python dictionaries. |
| 4 | Code
organisation |
5 | The different chatbot components are specified as functions that are called from the main loop or other associated functions. This includes:
Correct Interaction between main loop and functions (argument passing and return calls). |
| 5 | Pattern recognition | 5 | The chatbot must use pattern recognition incorporating regular expression-based matching.
Students are expected to: |
|
|||
| 6 | Response generation | 5 | The chatbot must demonstrate diversity in response generation. The basic functionality involves retrieving one response for one input. Implement these additional techniques for more diverse responses:
|
| 7 | File usage | 5 | To promote modularity, reusability, and scalability, all chatbot data including intents, patterns, and responses must be stored and loaded from external JSON files. Key expectations include:
|
| 8 | Preprocessing | 5 | Expectations regarding text preprocessing techniques include:
|
| 9 | Other Advanced features | 3 | Any other advanced feature that you have added and features that you have added beyond lecture material. |
| 10 | Process
reflection |
5 | Discuss the week-by-week iterative development of your chatbot. What was the feedback you received? How did you work on the feedback to improve chatbot? What new features did you add? |
| 11 | Report | 5 | Report should cover the main aspects of chatbot such as:
|
| 12 | Code | 5 | Code should:
|
[END OF COURSEWORK ASSIGNMENT]
🔹 Trusted Programming with Data Assignment Help for UOL Students
The post CM2015 Programming with Data Midterm Coursework Assignment 2026 appeared first on Singapore Assignment Help.