<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://rkeswani.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://rkeswani.com/" rel="alternate" type="text/html" /><updated>2026-09-05T00:07:40+00:00</updated><id>https://rkeswani.com/feed.xml</id><title type="html">Ritik Keswani</title><subtitle>A blog about technology and stuff related</subtitle><entry><title type="html">CPSC 317 Course Review</title><link href="https://rkeswani.com/cpsc-317-review/" rel="alternate" type="text/html" title="CPSC 317 Course Review" /><published>2024-09-26T00:00:00+00:00</published><updated>2024-09-26T00:00:00+00:00</updated><id>https://rkeswani.com/cpsc-317-review</id><content type="html" xml:base="https://rkeswani.com/cpsc-317-review/"><![CDATA[<p>In my very humble opinion, if you’re a computer science student, you should absolutely know how the internet works—beyond just “it’s magic!” CPSC 317 is the course that breaks down the nitty-gritty of how computer networks operate. Spoiler: there’s a lot more to it than just Wi-Fi and clicking refresh.</p>

<hr />

<h2 id="tech-stack">Tech Stack</h2>

<ul>
  <li>Java</li>
  <li>C</li>
</ul>

<hr />

<h2 id="pre-req-courses">Pre-Req Courses</h2>

<ul>
  <li>CPSC 213</li>
  <li>CPSC 221</li>
</ul>

<hr />

<h2 id="course-content">Course Content</h2>

<ul>
  <li>Designing systems that don’t crash when too many people show up (aka scalability and reliability in distributed systems)</li>
  <li>Using layers and abstractions to make complicated things easier (or so they say)</li>
  <li>Routing, naming, and addressing (basically, internet GPS)</li>
  <li>How to deal with data loss, isolation, and performance issues</li>
  <li>Some good ol’ privacy and security stuff</li>
</ul>

<hr />

<h2 id="workload-split">Workload Split</h2>

<ul>
  <li><strong>Participation</strong>: 4% (iClickers)</li>
  <li><strong>Programming Assignments</strong>: 30% (anywhere from 3-5, depending on how nice the prof feels)</li>
  <li><strong>Quizzes</strong>: 30% (5 mini-exams tested in the CBTF)</li>
  <li><strong>Final Exam</strong>: 36%</li>
</ul>

<hr />

<h3 id="concept-complexity-35">Concept Complexity: 3/5</h3>
<p>The theory part isn’t too bad—it’s fairly straightforward. But the programming assignments? Oh boy. Those PAs aren’t playing around. If you didn’t pay attention in labs, you’ll be staring at your code wondering what went wrong with your life choices.</p>

<h3 id="grade-difficulty-35">Grade Difficulty: 3/5</h3>
<p>Not the hardest course out there, but it does demand some effort. This isn’t a stroll in the park for an A, but a B is pretty doable if you put in the work. The average tends to hover around 75%, so you’re in decent company.</p>

<h3 id="content-engagement-255">Content Engagement: 2.5/5</h3>
<p>If learning how the internet works is your jam, you’ll probably enjoy this. But let’s be real, some of it can feel dry. That said, the prof does teach you how to send undetectable spam emails at one point, so there’s that!</p>

<h3 id="task-intensity-45">Task Intensity: 4/5</h3>
<p>The programming assignments are the main culprit here. They’re long and require lots of effort, so block out some time. The exam prep is less intense than the PAs, but still, it’s a time sink depending on how much content your prof decides to pack in.</p>

<h3 id="career-relevance-355">Career Relevance: 3.5/5</h3>
<p>If you’re eyeing a job at a networking company like Arista Networks, this course will come in handy. Even if that’s not your goal, the stuff about security and performance is super useful. I even ended up using some of what I learned in one of my co-op jobs. Plus, as a CS major, it’s probably a good idea to know how the internet works, right?</p>

<h2 id="lecture-attendance-35">Lecture Attendance: 3/5</h2>
<p>Lectures are helpful, but a lot of the content is out there on the internet (ironic, right?). Missing a couple won’t tank your grade, but the lectures definitely help with exam prep. The labs, on the other hand, are essential for surviving the PAs, so I’d recommend showing up for those.</p>]]></content><author><name>rkeswani</name></author><category term="blog" /><category term="Course Review" /><category term="Java" /><category term="C" /><summary type="html"><![CDATA[A review of the CPSC 317 course covering the content, workload, and personal experience.]]></summary></entry><entry><title type="html">Course Ranking Criteria</title><link href="https://rkeswani.com/ranking-criteria/" rel="alternate" type="text/html" title="Course Ranking Criteria" /><published>2024-09-25T00:00:00+00:00</published><updated>2024-09-25T00:00:00+00:00</updated><id>https://rkeswani.com/ranking-criteria</id><content type="html" xml:base="https://rkeswani.com/ranking-criteria/"><![CDATA[<p>As a Computer Science Major at UBC, I’ve completed 20 different CS courses, served as a TA for three courses, and tutored for the BCS program. I want to share my experience to help you make informed decisions when selecting electives or structuring your course schedule. My goal is to provide you with all the details you need to choose courses that align with your academic goals and interests.</p>

<p>I’ll be reviewing each course based on a set of criteria that should give you a clearer idea of whether it’s a good fit as an elective, or, if it’s a required course, how prepared you need to be and when you might want to take it. Here are the key factors I’ll evaluate:</p>

<h2 id="concept-complexity">Concept Complexity</h2>
<p>How challenging is the course material? Are the concepts easy to grasp or do they require significant effort and background knowledge?</p>

<h2 id="grade-difficulty">Grade Difficulty</h2>
<p>How tough is it to achieve an A? Is this a course where you’ll need to struggle just to pass, or can you reasonably aim for high marks?</p>

<h2 id="content-engagement">Content Engagement</h2>
<p>How engaging or interesting is the material? Is it something you’ll be excited to learn, or is it more likely to put you to sleep in lectures?</p>

<h2 id="task-intensity">Task Intensity</h2>
<p>How heavy is the workload? Will you be scrambling to meet deadlines, or is there a manageable balance between assignments and study time?</p>

<h2 id="career-relevance">Career Relevance</h2>
<p>How useful is the course content for your future as a software engineer? Will the skills and knowledge gained be directly applicable in a professional setting?</p>

<h2 id="lecture-attendance">Lecture Attendance</h2>
<p>How critical is it to attend every lecture? Let’s be honest, missing a class here and there happens—will it impact your success, or can you catch up without too much trouble?</p>

<p>By rating courses based on these criteria, I hope to give you a better sense of what to expect and help you make choices that suit your personal goals and study habits.</p>]]></content><author><name>rkeswani</name></author><category term="blog" /><category term="Course Review" /><summary type="html"><![CDATA[An explanation of the criteria of my course rankings.]]></summary></entry></feed>