<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>School on Salman's Blog</title><link>https://salmanfs.ca/tags/school/</link><description>Recent content in School on Salman's Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 27 Jul 2020 23:31:28 +0000</lastBuildDate><atom:link href="https://salmanfs.ca/tags/school/index.xml" rel="self" type="application/rss+xml"/><item><title>Haskell is Awesome!</title><link>https://salmanfs.ca/posts/haskell-is-awesome/</link><pubDate>Mon, 27 Jul 2020 23:31:28 +0000</pubDate><guid>https://salmanfs.ca/posts/haskell-is-awesome/</guid><description>&lt;p&gt;I learned Haskell this semester. Haskell is a purely functional language. It offers programmers a different paradigm or approach to programming. It&amp;rsquo;s a different perspective about what code should look like.&lt;/p&gt;
&lt;h3 id="declarative-programming"&gt;Declarative Programming&lt;/h3&gt;
&lt;p&gt;Functional languages are a subset of declarative languages. These contrast with imperative languages. The idea behind imperative is to dictate to a computer how to perform the tasks that you want completed. In the declarative mindset, simply ask for the result that you want without explaining precisely how to achieve it.&lt;/p&gt;</description></item><item><title>Tips for CS Students</title><link>https://salmanfs.ca/posts/tips-for-compsci-students/</link><pubDate>Sun, 01 Mar 2020 23:25:11 +0000</pubDate><guid>https://salmanfs.ca/posts/tips-for-compsci-students/</guid><description>&lt;p&gt;I was asked at work to write some tips for computer science students, specifically with respect to working on assignments. Here they are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start working on programming assignments early. It is often difficult to estimate the time it may take to debug potential errors.&lt;/li&gt;
&lt;li&gt;Practice running code taught in lectures and labs on your own. Tweak the sample code and try to understand how the behavior changes.&lt;/li&gt;
&lt;li&gt;If a task seems complicated and you are unsure how to tackle it, consider using version control (e.g. git) while you try out possible solutions so that you can easily try different approaches without losing your previous attempts. This will get you practice with a useful tool, keep your editor clean and let you try out new approaches without losing previous work.&lt;/li&gt;
&lt;li&gt;If you get stuck on a problem, take a break - go for a walk, eat a snack, take a nap - and come back to it later and give it a fresh start.&lt;/li&gt;
&lt;li&gt;Practice and improve your programming skills by working on side projects outside of coursework. Create a webapp or project or anything that interests you. Practice using best practices in writing your code, write useful comments and docs, use version control and write tests. Include an open source license and make these repositories public on GitHub so that you have a portfolio of projects to show future employers.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>