{"id":80,"date":"2019-01-11T12:17:57","date_gmt":"2019-01-11T12:17:57","guid":{"rendered":"http:\/\/www.mub.eps.manchester.ac.uk\/compsci\/?p=80"},"modified":"2019-01-11T12:33:41","modified_gmt":"2019-01-11T12:33:41","slug":"five-things-to-look-at-as-a-computer-science-student","status":"publish","type":"post","link":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/","title":{"rendered":"Five things to look at as a Computer Science student"},"content":{"rendered":"<p>Computer Science undergraduate Todd shares his top five extra-curricular\u00a0computer science tips.<\/p>\n<p>&#8220;During a Computer Science degree, you learn a lot of stuff, but uni can\u2019t teach you everything; and there\u2019s always more\u00a0to know. I thought of\u00a0five things that aren\u2019t typically included (or could be covered in more detail) in many courses.\u00a0It\u2019s not\u00a0a comprehensive extra-curricular guide, I think all of these things are super interesting, and\/or\u00a0really\u00a0useful,\u00a0I hope you\u00a0agree!<\/p>\n<ul>\n<li>Data structures<\/li>\n<\/ul>\n<p>Making a concious effort to expand your knowledge about data structures\u00a0is a fantastic investment; they\u2019re the butter to the algorithmic bread of CS.\u00a0During the course of an undergrad, we hear about and use\u00a0most of the basic data structures; arrays, linked lists, stacks,\u00a0binary trees etc. Occasionally, we\u2019ll need to implement one,\u00a0maybe for a lab exercise or if we\u2019re working in a low level language like C or Assembly.<\/p>\n<p>I think it\u2019s important to have a good awareness of\u00a0more data structures than just \u2018the basics\u2019 though.\u00a0Managing your data well can increase the speed of\u00a0what you\u2019re implementing, often drastically. For example, Dijkstra\u2019s algorithm has a runtime of O(E \u00a0log(V)) for a when its using a binary heap, but O(E + V log(V))\u00a0when using a Fibonacci heap, which is much better for graphs with a lot of edges.\u00a0In fact, in the second year\u00a0algorithms course at university, we implemented Dijkstra\u2019s algorithm, and ran it on a fairly large graph. I remember significantly improving the run-time of the algorithm by representing the outlist of each node in the graph as an array instead of a linked list since\u00a0arrays\u00a0have a better cache coherency.<\/p>\n<p>So, we\u2019ve established that\u00a0knowing\u00a0what options are available and when they\u2019re best applied is important, but being\u00a0programmers, its also important that we implement them too. I suggest taking the time to implement a basic version of\u00a0a data structure if you\u2019re coming across it for the first time, so you can really get a feel for the trade offs and design decisions it has.<\/p>\n<p>So, here\u2019s a list of some cool ones in order of increasing complexity\/obscurity:<\/p>\n<ul>\n<li>A\u00a0<a href=\"http:\/\/www.toptal.com\/java\/the-trie-a-neglected-data-structure\">Trie\u00a0<\/a>is a\u00a0data structure often used for\u00a0efficiently storing strings of text. It\u00a0uses memory very efficiently, and is often very useful in technical interviews! There\u2019s a great introductory article with a Java implementation here.<\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Circular_buffer\">Circular Buffers<\/a>are\u00a0just like regular buffers, except they wrap around when you reach the end of\u00a0them. This is good, since it provides a hard limit on the size of the buffer, and means you don\u2019t have to worry about managing the size of a backing array etc.<\/li>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/devdev\/archive\/2005\/08\/22\/454887.aspx\">Unrolled Linked Lists<\/a>are just like normal linked lists, except each node can store multiple items.\u00a0This means you get O(1) insertion\/deletion, but also improved\u00a0cache coherency like an array.<\/li>\n<li>A\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Hash_array_mapped_trie\">HAMT\u00a0<\/a>(Hash Array\u00a0Mapped Trie), combines the idea of a Hash Table\u00a0with that of a Trie. Its more versatile than a Trie, yet retains the\u00a0memory efficiency.\u00a0Here\u2019s a nice\u00a0<a href=\"https:\/\/idea.popcount.org\/2012-07-25-introduction-to-hamt\/\">blog post\u00a0<\/a>about them.<\/li>\n<li>There are a class of data structures that are \u2018cache-oblivious\u2019. This means they are designed\u00a0with the memory hierarchy of current CPU\u2019s in mind (e.g. L1 cache, L2 Cache etc), and don\u2019t assume that memory accesses all take constant time like most data structures do. Here\u2019s an\u00a0<a href=\"http:\/\/blogs.msdn.com\/b\/devdev\/archive\/2007\/06\/12\/cache-oblivious-data-structures.aspx\">interesting read on the topic<\/a>.<\/li>\n<\/ul>\n<p>If you thought those were neat, maybe look up Finger Trees, Interval Trees,\u00a0<a href=\"http:\/\/michael.steindorfer.name\/publications\/oopsla15.pdf\">CHAMP\u00a0<\/a>and soft heaps. If this all seems easy, then maybe you could take a look at\u00a0<a href=\"http:\/\/cstheory.stackexchange.com\/questions\/1539\/whats-new-in-purely-functional-data-structures-since-okasaki\">purely functional datastructures<\/a><\/p>\n<ul>\n<li>Learn a functional language<\/li>\n<\/ul>\n<p>Though I\u2019ve never taken a module in my degree with a significant functional programming aspect (though there are ones available!), FP is gaining traction in industry and is\u00a0great for\u00a0giving a new, different perspective on programming.<\/p>\n<p>However,\u00a0not\u00a0being explicitly taught something is no\u00a0excuse for not learning it! There are loads of opportunities to\u00a0use FP in university, for example, in the first year distributed systems course, you\u2019re\u00a0asked to build a simple web browser in Python. The aim is to parse a very simple HTML\u00a0file and display it on the terminal. I parsed the input into a DOM-style structure and then rendered it on the screen,\u00a0and did it all in a functional style (which made things a lot easier!).<\/p>\n<p>Another great opportunity to use FP is in the AI and Games course in third year. For the labs there, you write an AI for\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Kalah\">Kalah<\/a>, which essentially involves building a\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Game_tree\">game tree<\/a>\u00a0and running\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Minimax\">minimax\u00a0<\/a>on it. However, since trees (by their nature) are recursive,\u00a0you can code your solution much more elegantly using FP techniques than using an imperative\/object oriented style (though we\u2019ve implemented\u00a0our solution in C for speed).<\/p>\n<p>Functional Programming isn\u2019t just about tail recursion, lambda expressions and a map function though. It\u2019s a whole new paradigm with interesting trade offs, ideas, problems etc. A few years ago, I\u00a0spent the Summer writing a REST service in Scala at\u00a0Morgan Stanley,\u00a0which was\u00a0invaluable for\u00a0helping me understand what FP\u00a0really\u00a0is.<\/p>\n<ul>\n<li>Become competent on the command line<\/li>\n<\/ul>\n<p>You\u2019re probably already good on the command line,\u00a0maybe you have\u00a0a\u00a0custom `.bashrc` file and use fancy arguments for `ls`, but\u00a0are you using\u00a0the terminal to its full potential? I certainly don\u2019t!<\/p>\n<p>If you\u2019ve never looked into it, you may be surprised by just how much you can do from the command line, even after just learning a few new commands.<\/p>\n<p>For example, you can use the `parallel\u2019 command to utilize multiple cores on your machine. Lets say you wanted to convert all .jpg files in a directory to .png files using convert, you could use parallel to use all of the cores on your processor instead of just one.<\/p>\n<p>Other cool\u00a0tools to check out include\u00a0<a href=\"http:\/\/linux.die.net\/man\/1\/xargs\">xargs<\/a>\u00a0and\u00a0<a href=\"http:\/\/linux.die.net\/man\/1\/pv\">pv<\/a>\u00a0(a progress bar). If you\u2019ve not used different shells before, maybe try out something like\u00a0<a href=\"https:\/\/fishshell.com\/\">fish<\/a>, or maybe just read the man page for bash!<\/p>\n<ul>\n<li>Learn about\u00a0Computer Security<\/li>\n<\/ul>\n<p>Computer security is something everybody interested in CS should have a basic knowledge of. Knowing what DDOS stands for and why it\u2019s a good idea to have a firewall is a good idea for people who (may one day)\u00a0write software for thousands if not millions of users.<\/p>\n<p>Computer security isn\u2019t all about cracking passwords, man in the middle attacks and Java vulnerabilities though. Social engineering is a common attack vector for hackers, I recommend\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Kevin_Mitnick\">Kevin Mitnick\u2019s<\/a>\u00a0book\u00a0<a href=\"http:\/\/www.amazon.co.uk\/Art-Deception-Controlling-Element-Security\/dp\/076454280X\/ref=sr_1_2?ie=UTF8&amp;qid=1455488432&amp;sr=8-2&amp;keywords=Kevin+Mitnick\">The Art of Deception<\/a>\u00a0if you\u2019re interested in this (occasionally available cheaply on Amazon).<\/p>\n<ul>\n<li>Have a go at parallel and distributed computing<\/li>\n<\/ul>\n<p>Writing single threaded code is something that most computer scientists get pretty good at. Making different computations happen at the same time either on the same machine, or on different machines adds a whole new level of complexity though.<\/p>\n<p>There are lots of different approaches to\u00a0parallelizing your code, from using the `parallel\u2019 command as mentioned above, to\u00a0writing map reduce jobs and running them on a cluster of\u00a0virtual servers you\u2019ve set up.<\/p>\n<p>I recently read an interesting\u00a0<a href=\"http:\/\/ferd.ca\/the-zen-of-erlang.html\">blog post<\/a>\u00a0(warning, it\u2019s a long read) about how Erlang\u00a0has\u00a0separate modules that are designed to\u00a0embrace crashing, and handle it gracefully and transparently. \u00a0While I think that\u00a0implementing a fault tolerant and distributed project in Erlang might be overkill,\u00a0there are lots of\u00a0university labs that are ripe for a bit of multi-threading!&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Computer Science undergraduate Todd shares his top five extra-curricular\u00a0computer science tips.<\/p>\n","protected":false},"author":160,"featured_media":22,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[8],"tags":[20,18,21,19],"class_list":{"0":"post-80","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-student-experience","8":"tag-computer-security","9":"tag-data-structures","10":"tag-study","11":"tag-undergraduate","12":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Five things to look at as a Computer Science student - Department of Computer Science Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Five things to look at as a Computer Science student - Department of Computer Science Blog\" \/>\n<meta property=\"og:description\" content=\"Computer Science undergraduate Todd shares his top five extra-curricular\u00a0computer science tips.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/\" \/>\n<meta property=\"og:site_name\" content=\"Department of Computer Science Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-11T12:17:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-11T12:33:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Hayley\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hayley\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/\"},\"author\":{\"name\":\"Hayley\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#\\\/schema\\\/person\\\/693c22478ea174eee97a9f5da4117419\"},\"headline\":\"Five things to look at as a Computer Science student\",\"datePublished\":\"2019-01-11T12:17:57+00:00\",\"dateModified\":\"2019-01-11T12:33:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/\"},\"wordCount\":1290,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/wp-content\\\/uploads\\\/sites\\\/72\\\/2018\\\/12\\\/CS-Welcome-to-CS.jpg\",\"keywords\":[\"computer security\",\"data structures\",\"study\",\"undergraduate\"],\"articleSection\":[\"Student experience\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/\",\"url\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/\",\"name\":\"Five things to look at as a Computer Science student - Department of Computer Science Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/wp-content\\\/uploads\\\/sites\\\/72\\\/2018\\\/12\\\/CS-Welcome-to-CS.jpg\",\"datePublished\":\"2019-01-11T12:17:57+00:00\",\"dateModified\":\"2019-01-11T12:33:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/wp-content\\\/uploads\\\/sites\\\/72\\\/2018\\\/12\\\/CS-Welcome-to-CS.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/wp-content\\\/uploads\\\/sites\\\/72\\\/2018\\\/12\\\/CS-Welcome-to-CS.jpg\",\"width\":1400,\"height\":400,\"caption\":\"Welcome to Computer Science\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/2019\\\/01\\\/11\\\/five-things-to-look-at-as-a-computer-science-student\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Five things to look at as a Computer Science student\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#website\",\"url\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/\",\"name\":\"Department of Computer Science Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#organization\",\"name\":\"Department of Computer Science Blog\",\"url\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/wp-content\\\/uploads\\\/sites\\\/72\\\/2018\\\/11\\\/university-of-manchester.png\",\"contentUrl\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/wp-content\\\/uploads\\\/sites\\\/72\\\/2018\\\/11\\\/university-of-manchester.png\",\"width\":206,\"height\":86,\"caption\":\"Department of Computer Science Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/#\\\/schema\\\/person\\\/693c22478ea174eee97a9f5da4117419\",\"name\":\"Hayley\",\"url\":\"https:\\\/\\\/www.mub.eps.manchester.ac.uk\\\/compsci\\\/author\\\/hayleycox\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Five things to look at as a Computer Science student - Department of Computer Science Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/","og_locale":"en_GB","og_type":"article","og_title":"Five things to look at as a Computer Science student - Department of Computer Science Blog","og_description":"Computer Science undergraduate Todd shares his top five extra-curricular\u00a0computer science tips.","og_url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/","og_site_name":"Department of Computer Science Blog","article_published_time":"2019-01-11T12:17:57+00:00","article_modified_time":"2019-01-11T12:33:41+00:00","og_image":[{"width":1400,"height":400,"url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg","type":"image\/jpeg"}],"author":"Hayley","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Hayley","Estimated reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#article","isPartOf":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/"},"author":{"name":"Hayley","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#\/schema\/person\/693c22478ea174eee97a9f5da4117419"},"headline":"Five things to look at as a Computer Science student","datePublished":"2019-01-11T12:17:57+00:00","dateModified":"2019-01-11T12:33:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/"},"wordCount":1290,"commentCount":0,"publisher":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#organization"},"image":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg","keywords":["computer security","data structures","study","undergraduate"],"articleSection":["Student experience"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/","url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/","name":"Five things to look at as a Computer Science student - Department of Computer Science Blog","isPartOf":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#primaryimage"},"image":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg","datePublished":"2019-01-11T12:17:57+00:00","dateModified":"2019-01-11T12:33:41+00:00","breadcrumb":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#primaryimage","url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg","contentUrl":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg","width":1400,"height":400,"caption":"Welcome to Computer Science"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/2019\/01\/11\/five-things-to-look-at-as-a-computer-science-student\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/"},{"@type":"ListItem","position":2,"name":"Five things to look at as a Computer Science student"}]},{"@type":"WebSite","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#website","url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/","name":"Department of Computer Science Blog","description":"","publisher":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#organization","name":"Department of Computer Science Blog","url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#\/schema\/logo\/image\/","url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/11\/university-of-manchester.png","contentUrl":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/11\/university-of-manchester.png","width":206,"height":86,"caption":"Department of Computer Science Blog"},"image":{"@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/#\/schema\/person\/693c22478ea174eee97a9f5da4117419","name":"Hayley","url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/author\/hayleycox\/"}]}},"jetpack_featured_media_url":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-content\/uploads\/sites\/72\/2018\/12\/CS-Welcome-to-CS.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/posts\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/users\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":3,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":89,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/posts\/80\/revisions\/89"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/media\/22"}],"wp:attachment":[{"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mub.eps.manchester.ac.uk\/compsci\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}