{"id":19053555,"url":"https://github.com/zwrawr/dsa_assessment","last_synced_at":"2026-06-22T17:31:09.604Z","repository":{"id":223555749,"uuid":"75159364","full_name":"zwrawr/DSA_Assessment","owner":"zwrawr","description":"University of York, Data Structures and Algorithms Assessment, Task : Predictive Text","archived":false,"fork":false,"pushed_at":"2017-03-29T19:43:42.000Z","size":2672,"stargazers_count":2,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-11T17:09:31.939Z","etag":null,"topics":["alogrithms","c","data-structures","university-of-york","university-project"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zwrawr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-11-30T06:44:53.000Z","updated_at":"2024-08-17T19:46:44.000Z","dependencies_parsed_at":"2024-02-20T22:05:02.073Z","dependency_job_id":null,"html_url":"https://github.com/zwrawr/DSA_Assessment","commit_stats":null,"previous_names":["zwrawr/dsa_assessment"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/zwrawr/DSA_Assessment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwrawr%2FDSA_Assessment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwrawr%2FDSA_Assessment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwrawr%2FDSA_Assessment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwrawr%2FDSA_Assessment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zwrawr","download_url":"https://codeload.github.com/zwrawr/DSA_Assessment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwrawr%2FDSA_Assessment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34659895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alogrithms","c","data-structures","university-of-york","university-project"],"created_at":"2024-11-08T23:32:11.406Z","updated_at":"2026-06-22T17:31:09.559Z","avatar_url":"https://github.com/zwrawr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structures and Algorithms Assessment\n\n*tldr; Created a cli predictive text system and achived a mark of 84%*\n## Task: Predictive Text\n\nHere is the [*pdf*](http://www.elec.york.ac.uk/internal_web/meng/yr2/modules/DSA/DSA/Assessment/DSAAssessment2016.pdf) that outlines the assessment. It's unlikely that you'll be able to view this files so here is the basic outline of the assessment \n\n\u003e You are to design and implement a program that can perform a predictive text function similar to\nthat employed in modern mobile phones.\n\n\u003e The program should allow the user to type text into the command prompt. If the user presses a\nspecial key, such as tab, the program should make a number of suggestions which complete the\ncurrent word. The user should then have the choice to select one of the suggested words, or continue\ntyping.\n\n\u003e A text file called words.txt containing a list of 25,143 words is provided [here](http://www.elec.york.ac.uk/internal_web/meng/yr2/modules/DSA/DSA/Assessment/words.txt) on the [course web\npage](http://www.elec.york.ac.uk/internal_web/meng/yr2/modules/DSA/DSA/).\n\n\u003e Your program should read the contents of words.txt into a suitable data structure that allows\nefficient storage and search. You will need to think about efficient ways of matching entered letter\nsequences from the keyboard to complete words found in words.txt. Merely putting all the words in\na single list and searching through the entire list for matches linearly would be a very inefficient\nsolution. Programs that choose appropriate data structures and algorithms that make the predictive\ntext system efficient will receive higher marks. Consideration of how to enable punctuation and\ncapitalisation will also be welcomed.\n\n## Marking Guidelines\nThe marks are broken down into the following categories:\n\n### Choice of Data Structure (6)  \n\u003e * Space complexity (with respect to size of dictionary) 2  \n\u003e * Time complexity (with respect to size of dictionary) 2  \n\u003e * Simplicity of data structure 2  \n\n### Program Implementation (20)  \n\u003e * Representational independence (interface and implementation separation) 3  \n\u003e * Modularity of program (at least three program files with appropriate contents) 2  \n\u003e * Functional modularity (program broken up into an appropriate series of functions) 3  \n\u003e * Program documentation (commenting, formatting, suitable names of variables etc) 2  \n\u003e * Clarity and simplicity of program (good program structure, logical flow) 3  \n\u003e * Execution (how well does the actual program work) 3  \n\u003e * Completeness (how complete is the submitted program, how functional) 2  \n\u003e * User interface 2  \n\n### Report (24)  \n\u003e * Explanation of program 8  \n\u003e * Explanation of data structure chosen and discussion of alternatives 10  \n\u003e * Readability and formatting 4  \n\u003e * Testing strategy (how did you test your design?) 2  \n\n## My submition\n\n### Source\nThe submitted source code is under the 'release/submitted' branch and is the release tagged as 'submitted'\n\n### Report \nThe [pdf of the report](https://github.com/zwrawr/DSA_Assessment/blob/master/Report/DSA_AssesmentReport.pdf) can be found here.\n\n## Results\nI obtained 84% for this assessment which is a starred first.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzwrawr%2Fdsa_assessment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzwrawr%2Fdsa_assessment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzwrawr%2Fdsa_assessment/lists"}