What This Document Is
This is a programming assignment for Intro to Computer Science (CS 110) at the University of San Francisco. It challenges students to apply fundamental programming concepts to a practical problem: building tools to interact with the World Wide Web. Specifically, the assignment focuses on the development of a web crawler and a search index, core components of many internet search engines. It requires students to write Python code to automate the process of exploring websites and organizing the information found within them.
Why This Document Matters
This assignment is crucial for students aiming to solidify their understanding of data structures, algorithms, and file processing in a real-world context. It’s particularly beneficial for those interested in web development, data science, or information retrieval. Successfully completing this assignment demonstrates proficiency in navigating and manipulating data obtained from external sources – a skill highly valued in many computer science roles. Students will benefit from working through this assignment as they prepare for more advanced coursework and potential internships or jobs.
Common Limitations or Challenges
This assignment focuses on the core logic of web crawling and indexing. It does *not* provide a pre-built framework or extensive code scaffolding. Students will be expected to implement the required functionality from scratch, requiring a strong grasp of Python fundamentals. The assignment also assumes familiarity with basic HTML structure, but does not offer a comprehensive HTML tutorial. Debugging network requests and handling potential errors during web crawling can also present challenges.
What This Document Provides
* A detailed description of the assignment’s objectives and expected outcomes.
* Specifications for the required program’s functionality, including user command options.
* Guidance on the input format and data structures to be used (dictionaries, URLs).
* Information on the specific HTML tags expected in the web pages to be crawled.
* Suggestions for utilizing the Python `requests` module for accessing web content.
* Clear instructions on how the program should interact with the user through a command-line interface.