{"id":19,"date":"2019-08-16T14:57:48","date_gmt":"2019-08-16T14:57:48","guid":{"rendered":"http:\/\/cs.smu.ca\/~jiju\/?page_id=19"},"modified":"2026-08-02T07:57:16","modified_gmt":"2026-08-02T10:57:16","slug":"teaching","status":"publish","type":"page","link":"https:\/\/cs.smu.ca\/~jiju\/index.php\/teaching\/","title":{"rendered":"Teaching"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>Teaching \u2014 Graphics &#038; Spatial Computing Lab at SMU<\/title>\n<\/head>\n<body>\n<!-- ============================================\n  TEACHING page \u2014 paste-ready for WordPress\n  Instructions:\n  1. Edit the \"Teaching\" page in WP admin.\n  2. Open the Code editor (\u22ee menu \u2192 Code editor), select all, delete.\n  3. Paste EVERYTHING below, wrapped so WP treats it as one HTML block:\n       [wp:html]  ...paste...  [\/wp:html]\n       (type those as real HTML comment markers: less-than bang dash dash  wp:html  dash dash greater-than)\n  4. Switch back to Visual editor \u2192 Update.\n  Note: if the theme already prints the page title, delete the <h1> line.\n\n  \u2500\u2500 HOW TO ADD \/ UPDATE A COURSE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  Current course: edit the <div class=\"feature\"> block near the top.\n  Past course: copy one <li> in the relevant list and change code\/title\/terms.\n================================================================= -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;500&#038;family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&#038;family=Space+Grotesk:wght@500;600;700&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n\/* Scoped under .gsc-teach \u2014 safe inside a WordPress Custom HTML block. *\/\n.gsc-teach{\n  --ink:#15202f; --body:#3d4a5c; --faint:#7b8798;\n  --paper:#fafbfc; --card:#ffffff; --line:#e3e8ee;\n  --link:#0f5f8f; --accent:#b0316e;\n  --teal:#0e7c86; --violet:#5a4fcf; --rust:#b3561d;\n  font-family:'IBM Plex Sans',-apple-system,'Segoe UI',sans-serif;\n  color:var(--body); background:var(--paper); line-height:1.62; font-size:18px; margin:0;\n}\n.gsc-teach *{box-sizing:border-box;margin:0;padding:0}\n.gsc-teach .wrap{max-width:1360px;margin:0 auto;padding:52px 24px 80px}\n\n\/* header *\/\n.gsc-teach h1{\n  font-family:'Space Grotesk',sans-serif;font-weight:700;\n  font-size:clamp(2rem,4.4vw,2.8rem);letter-spacing:-.02em;color:var(--ink);\n  line-height:1.1;margin-bottom:16px;\n}\n.gsc-teach .lede{max-width:900px;font-size:1.1rem;color:var(--body)}\n.gsc-teach .lede strong{color:var(--ink);font-weight:600}\n\n\/* section headings *\/\n.gsc-teach h2{\n  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.7rem;\n  letter-spacing:-.01em;color:var(--ink);margin:56px 0 8px;\n  display:flex;align-items:baseline;gap:14px;\n}\n.gsc-teach h2 small{\n  font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:400;\n  letter-spacing:.07em;text-transform:uppercase;color:var(--faint);\n}\n.gsc-teach h2::after{content:\"\";flex:1;height:1px;background:var(--line);transform:translateY(-6px)}\n.gsc-teach .sec-sub{color:var(--faint);font-size:1.06rem;margin-bottom:24px;max-width:920px}\n\n\/* ---------- current course feature ---------- *\/\n.gsc-teach .feature{\n  background:var(--card);border:1px solid var(--line);border-radius:16px;\n  border-left:4px solid var(--accent);padding:32px;display:grid;\n  grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;\n}\n.gsc-teach .feature .code{\n  font-family:'IBM Plex Mono',monospace;font-size:.82rem;letter-spacing:.06em;\n  text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:8px;\n}\n.gsc-teach .feature h3{\n  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.7rem;\n  letter-spacing:-.015em;color:var(--ink);line-height:1.15;margin-bottom:10px;\n}\n.gsc-teach .feature p{font-size:1.02rem;color:var(--body);max-width:720px}\n.gsc-teach .feature .term{\n  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.4rem;\n  color:var(--accent);white-space:nowrap;text-align:right;\n}\n.gsc-teach .feature .term small{\n  display:block;font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:400;\n  letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-top:4px;\n}\n\n\/* ---------- course list cards ---------- *\/\n.gsc-teach .courses{list-style:none;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 24px}\n.gsc-teach .courses li{\n  padding:16px 0;border-bottom:1px solid var(--line);\n  display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:20px;align-items:baseline;\n}\n.gsc-teach .courses li:last-child{border-bottom:none}\n.gsc-teach .courses .cc{\n  font-family:'IBM Plex Mono',monospace;font-size:.82rem;font-weight:500;\n  color:var(--accent);letter-spacing:.02em;\n}\n.gsc-teach .courses .ct{font-size:1.04rem;color:var(--ink);font-weight:500}\n.gsc-teach .courses .ct .role{\n  font-family:'IBM Plex Mono',monospace;font-size:.7rem;text-transform:uppercase;\n  letter-spacing:.05em;color:var(--faint);margin-left:10px;font-weight:400;\n}\n.gsc-teach .courses .cy{\n  font-family:'IBM Plex Mono',monospace;font-size:.82rem;color:var(--faint);\n  white-space:nowrap;text-align:right;\n}\n.gsc-teach .courses a{color:var(--link);text-decoration:none;border-bottom:1px solid #c9dbe7}\n.gsc-teach .courses a:hover{border-bottom-color:var(--link)}\n\n\/* subheading inside a section *\/\n.gsc-teach h3.sub{\n  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.12rem;\n  color:var(--ink);margin:30px 0 14px;letter-spacing:-.01em;\n}\n\n\/* ---------- philosophy ---------- *\/\n.gsc-teach .philo{max-width:960px}\n.gsc-teach .philo p{font-size:1.08rem;margin-bottom:16px}\n.gsc-teach .philo em{font-style:italic}\n\n\/* ---------- office hours \/ contact card ---------- *\/\n.gsc-teach .infocard{\n  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px;\n  font-size:1.02rem;line-height:1.9;max-width:560px;\n}\n.gsc-teach .infocard b{color:var(--ink)}\n.gsc-teach .infocard a.eml{color:var(--link);text-decoration:none;border-bottom:1px dashed #c9dbe7;cursor:pointer}\n.gsc-teach .infocard a.eml:hover{border-bottom-style:solid}\n\n\/* responsive *\/\n@media (max-width:680px){\n  .gsc-teach .feature{grid-template-columns:1fr}\n  .gsc-teach .feature .term{text-align:left}\n  .gsc-teach .courses li{grid-template-columns:1fr;gap:3px}\n  .gsc-teach .courses .cy{text-align:left}\n}\n.gsc-teach a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}\n<\/style>\n\n<div class=\"gsc-teach\">\n<div class=\"wrap\">\n\n<p class=\"lede\">\n  I teach across the <strong>computer graphics, vision, and systems<\/strong> curriculum at Saint Mary&#8217;s\n  University \u2014 from first-year programming to graduate courses in deep learning for vision. My aim is to\n  pair rigorous foundations with hands-on building, so students leave able to <em>implement<\/em> the ideas,\n  not just describe them.\n<\/p>\n\n<!-- ==================== CURRENT ==================== -->\n<h2 id=\"current\">Currently teaching<\/h2>\n<div class=\"feature\">\n  <div>\n    <div class=\"code\">CSCI 4471 \u00b7 Instructor<\/div>\n    <h3><a href=\"https:\/\/cs.smu.ca\/~jiju\/index.php\/teaching\/csci-4471-computer-graphics-fall-2026\/\" style=\"color:inherit;text-decoration:none\">Computer Graphics<\/a><\/h3>\n    <p>\n      An introduction to computer graphics with a focus on rendering and modelling: 2D\/3D transformations,\n      ray tracing and rasterization, the OpenGL pipeline and shader programming, geometric modelling with\n      B\u00e9zier curves, splines and NURBS, polygonal meshes, and procedural synthesis \u2014 built in C++ and OpenGL\/GLSL.\n    <\/p>\n    <p style=\"margin-top:14px\"><a href=\"https:\/\/cs.smu.ca\/~jiju\/index.php\/teaching\/csci-4471-computer-graphics-fall-2026\/\" style=\"font-family:'IBM Plex Mono',monospace;font-size:.82rem;font-weight:500;color:var(--link);text-decoration:none;border:1px solid #c9dbe7;border-radius:8px;padding:7px 14px;display:inline-block\">Course page \u2197<\/a><\/p>\n  <\/div>\n  <div class=\"term\">Fall 2026<small>Current term<\/small><\/div>\n<\/div>\n\n<!-- ==================== PAST \u2014 SMU ==================== -->\n<h2 id=\"smu\">Past courses <small>Saint Mary&#8217;s University<\/small><\/h2>\n<p class=\"sec-sub\">Undergraduate and graduate courses taught as instructor, plus graduate directed-study offerings.<\/p>\n\n<h3 class=\"sub\">Undergraduate &amp; graduate courses<\/h3>\n<ul class=\"courses\">\n  <li><span class=\"cc\">CSCI 4472<\/span><span class=\"ct\">Deep Learning for Computer Vision <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">Fall 2024, <a href=\"https:\/\/cs.smu.ca\/~jiju\/?page_id=1609\">2022<\/a><\/span><\/li>\n  <li><span class=\"cc\">CSCI 4471\/6671<\/span><span class=\"ct\">Computer Graphics <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\"><a href=\"https:\/\/cs.smu.ca\/~jiju\/index.php\/teaching\/csci-4471-6671-computer-graphics-fall-2023\/\">2023<\/a>, <a href=\"https:\/\/cs.smu.ca\/~jiju\/index.php\/teaching\/csci-4471-6671-computer-graphics\/\">2021<\/a>, 2019<\/span><\/li>\n  <li><span class=\"cc\">CSCI 4452\/6652<\/span><span class=\"ct\">Algorithm Analysis <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">Winter 2025, 2021, 2019<\/span><\/li>\n  <li><span class=\"cc\">CSCI 3431<\/span><span class=\"ct\">Operating Systems <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">Winter 2024, 2023, 2022, 2020 \u00b7 Fall 2020, 2018<\/span><\/li>\n  <li><span class=\"cc\">CSCI 1228<\/span><span class=\"ct\">Advanced Computer Programming &amp; Problem Solving (Lab) <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">Winter 2022, 2023<\/span><\/li>\n  <li><span class=\"cc\">CSCI 1226<\/span><span class=\"ct\">Introduction to Computer Programming <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">Fall 2018, 2019 \u00b7 Winter 2019, 2021<\/span><\/li>\n<\/ul>\n\n<h3 class=\"sub\">Graduate directed studies<\/h3>\n<ul class=\"courses\">\n  <li><span class=\"cc\">CSCI 6691<\/span><span class=\"ct\">3D Deep Learning<\/span><span class=\"cy\">Spring\/Summer 2021<\/span><\/li>\n  <li><span class=\"cc\">CSCI 4476<\/span><span class=\"ct\">Computer Vision &amp; Digital Image Processing<\/span><span class=\"cy\">Fall 2020<\/span><\/li>\n  <li><span class=\"cc\">CSCI 6692.1<\/span><span class=\"ct\">Topics in 3D Vision &amp; Procedural Modeling<\/span><span class=\"cy\">Spring\/Summer 2020<\/span><\/li>\n  <li><span class=\"cc\">CSCI 6694.2<\/span><span class=\"ct\">Geometric Modeling<\/span><span class=\"cy\">Winter 2020<\/span><\/li>\n  <li><span class=\"cc\">CSCI 6691<\/span><span class=\"ct\">Topics in Real-time 3D Vision<\/span><span class=\"cy\">Spring\/Summer 2019<\/span><\/li>\n<\/ul>\n\n<!-- ==================== EARLIER ==================== -->\n<h2 id=\"earlier\">Earlier teaching <small>UVic \u00b7 IIT Madras \u00b7 other<\/small><\/h2>\n<p class=\"sec-sub\">Courses taught as instructor and teaching assistant prior to Saint Mary&#8217;s.<\/p>\n<ul class=\"courses\">\n  <li><span class=\"cc\">CSC 305<\/span><span class=\"ct\">Introduction to Computer Graphics <span class=\"role\">Instructor \u00b7 UVic<\/span><\/span><span class=\"cy\">Winter 2018<\/span><\/li>\n  <li><span class=\"cc\">CS09 506<\/span><span class=\"ct\">Theory of Computation <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">2009, 2010<\/span><\/li>\n  <li><span class=\"cc\">CS09 801<\/span><span class=\"ct\">Advanced Computer Architecture &amp; Parallel Processing <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">2007, 2010<\/span><\/li>\n  <li><span class=\"cc\">\u2014<\/span><span class=\"ct\">Multimedia Lab <span class=\"role\">Instructor<\/span><\/span><span class=\"cy\">2006<\/span><\/li>\n  <li><span class=\"cc\">ED 1200<\/span><span class=\"ct\">Introduction to Computation &amp; Visualization <span class=\"role\">TA \u00b7 IITM<\/span><\/span><span class=\"cy\">2011\u20132015<\/span><\/li>\n  <li><span class=\"cc\">ED 5310<\/span><span class=\"ct\">Differential &amp; Computational Geometry <span class=\"role\">TA \u00b7 IITM<\/span><\/span><span class=\"cy\">2012, 2013<\/span><\/li>\n  <li><span class=\"cc\">ED 2090<\/span><span class=\"ct\">Geometric Modeling &amp; CAD Lab <span class=\"role\">TA \u00b7 IITM<\/span><\/span><span class=\"cy\">2011<\/span><\/li>\n  <li><span class=\"cc\">ME 1120<\/span><span class=\"ct\">Engineering Drawing <span class=\"role\">TA \u00b7 IITM<\/span><\/span><span class=\"cy\">2012<\/span><\/li>\n  <li><span class=\"cc\">CO 101<\/span><span class=\"ct\">C Programming Lab <span class=\"role\">TA<\/span><\/span><span class=\"cy\">2007, 2008<\/span><\/li>\n<\/ul>\n\n<!-- ==================== PHILOSOPHY ==================== -->\n<h2 id=\"philosophy\">Teaching approach<\/h2>\n<div class=\"philo\">\n  <p>\n    My courses are built around a simple conviction: students understand a concept best once they have\n    <em>implemented<\/em> it. Lectures develop the mathematical and algorithmic foundations, and the\n    accompanying recitations and projects ask students to build the real thing \u2014 a ray tracer, a rasterizer,\n    a scheduler, a small deep-learning pipeline \u2014 in C++, OpenGL, or Python.\n  <\/p>\n  <p>\n    I keep an open door for students who want to go further. Course projects have grown into honours theses\n    and, in several cases, into published research and industry roles. Undergraduates curious about\n    graphics, vision, or geometric learning are always welcome to talk about research opportunities in the\n    <a href=\"https:\/\/cs.smu.ca\/~jiju\/index.php\/group-2\/#open\" style=\"color:var(--accent);text-decoration:none;border-bottom:1px solid #e6b8cc\">lab<\/a>.\n  <\/p>\n<\/div>\n\n<!-- ==================== CONTACT ==================== -->\n<h2 id=\"contact\">Office &amp; contact<\/h2>\n<div class=\"infocard\">\n  <b>Dr. Jiju Poovvancheri<\/b><br>\n  Office: MN130, McNally North<br>\n  Department of Mathematics &amp; Computing Science, Saint Mary&#8217;s University<br>\n  Email: <a class=\"eml\" role=\"button\" tabindex=\"0\" data-u=\"jiju.poovvancheri\" data-d=\"smu.ca\">Show email<\/a><br>\n  Current students: please use the course MS Teams for lecture slides, announcements, and grades.\n<\/div>\n\n<script>\n(function(){\n  function reveal(a){\n    if(a.getAttribute('data-shown')==='1') return;\n    var addr=a.getAttribute('data-u')+String.fromCharCode(64)+a.getAttribute('data-d');\n    a.textContent=addr;\n    a.setAttribute('href','mail'+'to:'+addr);\n    a.setAttribute('data-shown','1');\n  }\n  var links=document.querySelectorAll('.gsc-teach a.eml');\n  for(var i=0;i<links.length;i++){\n    (function(a){\n      a.style.cursor='pointer';\n      a.addEventListener('click',function(e){ if(a.getAttribute('data-shown')!=='1'){e.preventDefault(); reveal(a);} });\n      a.addEventListener('keydown',function(e){ if((e.key==='Enter'||e.key===' ')&#038;&#038;a.getAttribute('data-shown')!=='1'){e.preventDefault(); reveal(a);} });\n    })(links[i]);\n  }\n})();\n<\/script>\n\n<\/div>\n<\/div>\n\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Teaching \u2014 Graphics &#038; Spatial Computing Lab at SMU I teach across the computer graphics, vision, and systems curriculum at&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages\/19"}],"collection":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":58,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages\/19\/revisions"}],"predecessor-version":[{"id":2430,"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/pages\/19\/revisions\/2430"}],"wp:attachment":[{"href":"https:\/\/cs.smu.ca\/~jiju\/index.php\/wp-json\/wp\/v2\/media?parent=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}