Assignment 3

Due date: February 11

📌 This is an individual project. You are expected to work independently.

If you get stuck, confused, or have trouble with the project, you should use the #help-dsa channel in Discord or message an instructor. Remember not to spoil the project for others - do not post code samples from your work to public spaces.

Writing LLString Methods

This week, we learned about linked lists and wrote various methods for the LLString class.

In this assignment, you will write various functions that implement a linked list version of a string, including trimming a string, making a copy of a string, and replacing characters in a string. You will use both iteration and recursion, and ensure that your functions handle edge cases such as empty lists.

▶️ Access the assignment on GitHub Classroom

Remember...

  • Read the instructions carefully
  • Plan before you code
  • Debug if you aren't getting the desired output
  • Attend office hours if you need additional support
  • Ask for help in Discord

Statement on Usage of AI Tools

The list below details acceptable and unacceptable uses of AI tools in Kibo courses, including generative AI tools like ChatGPT and AI tools integrated into code editors like CoPilot. For use cases not listed below, inquire about their acceptability on the course's Discord Help channel.

Acceptable Uses:

  1. Generating Ideas: Assisting in brainstorming topics for essays, projects, or presentations.
  2. Research Aid: Helping to find sources, papers, or literature for further reading and reference.
  3. Explaining Concepts: Providing explanations of complex concepts in simpler terms or different perspectives.
  4. Outlining: Aiding in creating outlines of topics to build structure for essays or reports.
  5. Drafting Assistance: Creating initial drafts of supplementary writing material where the main artifact being produced is not a written item.
  6. Creative Inspiration: Generating creative ideas for projects in arts, literature, or design.
  7. Technical Guidance: Offering guidance on coding problems, mathematical equations, or scientific principles.
  8. Proofreading: Assisting in grammar and spelling checks for written assignments.

Unacceptable Uses:

  1. AI-Generated Work: Submitting work significantly generated by AI as one's own in essays, reports, code, or other assignments.
  2. Plagiarism: Using AI to rephrase or copy content without proper citation or acknowledgment.
  3. Test and Exam Assistance: Using AI tools during tests or exams unless explicitly allowed by the instructor.
  4. Drafting Assistance: Creating initial drafts of written materials for general educations courses.
  5. Complete Dependence: Relying solely on AI for understanding core concepts without engaging in personal study or critical thinking (AI tools can often be wrong).

Important Notes:

  • Students must disclose the use of AI tools in their assignments and provide either shareable links or exports (if the tool doesn't support sharing) showing their use of the tools on the assignment.
  • AI tools might not strictly adhere to instructions or might include unrequested information. Always review the output to ensure accuracy and relevance.
  • Work generated through AI should be critically reviewed and substantially modified to ensure originality and understanding.