Skip to content
Snippets Groups Projects
Select Git revision
  • 3452096a1e54b95f1e7fda3619cab1f308cace5c
  • master default
  • root
  • cherry
  • SIGPOLL
  • pretty
  • lighthouse
  • history
  • anon
  • snowden
  • 6861
  • 1
  • 10
  • 100
  • 1000
  • 10000
  • 1001
  • 1002
  • 1003
  • 1004
  • 1005
  • return
  • caps
  • enter
  • f1
  • f10
  • f11
  • f12
  • f2
  • f3
  • f4
  • f5
  • f6
  • f7
  • f8
  • f9
  • fn
  • home
  • ins
  • pgdn
  • pgup
41 results

ucr-cs100

Blame
  • ucr-cs100 57.76 KiB
    
    
    
    <!DOCTYPE html>
    <html lang="en" class="">
      <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">
        <meta charset='utf-8'>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta http-equiv="Content-Language" content="en">
        
        
        <title>mikeizbicki/ucr-cs100 · GitHub</title>
        <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
        <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
        <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png">
        <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png">
        <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png">
        <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png">
        <meta property="fb:app_id" content="1401488693436528">
    
          <meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="mikeizbicki/ucr-cs100" name="twitter:title" /><meta content="ucr-cs100 - open source software construction course" name="twitter:description" /><meta content="https://avatars3.githubusercontent.com/u/1052630?v=3&amp;s=400" name="twitter:image:src" />
          <meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="https://avatars3.githubusercontent.com/u/1052630?v=3&amp;s=400" property="og:image" /><meta content="mikeizbicki/ucr-cs100" property="og:title" /><meta content="https://github.com/mikeizbicki/ucr-cs100" property="og:url" /><meta content="ucr-cs100 - open source software construction course" property="og:description" />
          <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
        <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
        <link rel="assets" href="https://assets-cdn.github.com/">
        
        <meta name="pjax-timeout" content="1000">
        
    
        <meta name="msapplication-TileImage" content="/windows-tile.png">
        <meta name="msapplication-TileColor" content="#ffffff">
        <meta name="selected-link" value="repo_source" data-pjax-transient>
          <meta name="google-analytics" content="UA-3769691-2">
    
        <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="A9EBAEB0:3924:B7F1607:5576A2A1" name="octolytics-dimension-request_id" />
        
        <meta content="Rails, view, files#disambiguate" name="analytics-event" />
        <meta class="js-ga-set" name="dimension1" content="Logged Out">
        <meta class="js-ga-set" name="dimension2" content="Header v3">
        <meta name="is-dotcom" content="true">
          <meta name="hostname" content="github.com">
        <meta name="user-login" content="">
    
        
        <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">
    
    
        <meta content="authenticity_token" name="csrf-param" />
    <meta content="M5qH2ikgx/Fg9eqjgc+FHHxn7NBIt8lTBvbyBSeUc4ylFDFs9pEQt/mHU1sp1UdXUupkrQ3et+3er5cr953pTw==" name="csrf-token" />
    
        <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github/index-6967b378b26829cc5a2ea2ad4209ff0af50f2a65057962219dc9dcf8942683f0.css" media="all" rel="stylesheet" />
        <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github2/index-f12d212c132049f6e7151d799b0a47e5c1ea78b1623248b105726336e068e46e.css" media="all" rel="stylesheet" />
        
        
    
    
        <meta http-equiv="x-pjax-version" content="ed7ff7b2d545eadc0223b1139ecb7f03">
    
          
      <meta name="description" content="ucr-cs100 - open source software construction course">
      <meta name="go-import" content="github.com/mikeizbicki/ucr-cs100 git https://github.com/mikeizbicki/ucr-cs100.git">
    
      <meta content="1052630" name="octolytics-dimension-user_id" /><meta content="mikeizbicki" name="octolytics-dimension-user_login" /><meta content="21252548" name="octolytics-dimension-repository_id" /><meta content="mikeizbicki/ucr-cs100" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="21252548" name="octolytics-dimension-repository_network_root_id" /><meta content="mikeizbicki/ucr-cs100" name="octolytics-dimension-repository_network_root_nwo" />
      <link href="https://github.com/mikeizbicki/ucr-cs100/commits/2015spring.atom" rel="alternate" title="Recent Commits to ucr-cs100:2015spring" type="application/atom+xml">
    
      </head>
    
    
      <body class="logged_out  env-production  vis-public">
        <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a>
        <div class="wrapper">
          
          
          
    
    
            
            <div class="header header-logged-out" role="banner">
      <div class="container clearfix">
    
        <a class="header-logo-wordmark" href="https://github.com/" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
          <span class="mega-octicon octicon-logo-github"></span>
        </a>
    
        <div class="header-actions" role="navigation">
            <a class="btn btn-primary" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
          <a class="btn" href="/login?return_to=%2Fmikeizbicki%2Fucr-cs100" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
        </div>
    
        <div class="site-search repo-scope js-site-search" role="search">
          <form accept-charset="UTF-8" action="/mikeizbicki/ucr-cs100/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/mikeizbicki/ucr-cs100/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
      <label class="js-chromeless-input-container form-control">
        <div class="scope-badge">This repository</div>
        <input type="text"
          class="js-site-search-focus js-site-search-field is-clearable chromeless-input"
          data-hotkey="s"
          name="q"
          placeholder="Search"
          data-global-scope-placeholder="Search GitHub"
          data-repo-scope-placeholder="Search"
          tabindex="1"
          autocapitalize="off">
      </label>
    </form>
        </div>
    
          <ul class="header-nav left" role="navigation">
              <li class="header-nav-item">
                <a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a>
              </li>
              <li class="header-nav-item">
                <a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a>
              </li>
              <li class="header-nav-item">
                <a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a>
              </li>
              <li class="header-nav-item">
                <a class="header-nav-link" href="/blog" data-ga-click="(Logged out) Header, go to blog, text:blog">Blog</a>
              </li>
          </ul>
    
      </div>
    </div>
    
    
    
          <div id="start-of-content" class="accessibility-aid"></div>
              <div class="site" itemscope itemtype="http://schema.org/WebPage">
        <div id="js-flash-container">
          
        </div>
        <div class="pagehead repohead instapaper_ignore readability-menu">
          <div class="container">
    
            
    <ul class="pagehead-actions">
    
      <li>
          <a href="/login?return_to=%2Fmikeizbicki%2Fucr-cs100"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to watch a repository" rel="nofollow">
        <span class="octicon octicon-eye"></span>
        Watch
      </a>
      <a class="social-count" href="/mikeizbicki/ucr-cs100/watchers">
        93
      </a>
    
      </li>
    
      <li>
          <a href="/login?return_to=%2Fmikeizbicki%2Fucr-cs100"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to star a repository" rel="nofollow">
        <span class="octicon octicon-star"></span>
        Star
      </a>
    
        <a class="social-count js-social-count" href="/mikeizbicki/ucr-cs100/stargazers">
          139
        </a>
    
      </li>
    
        <li>
          <a href="/login?return_to=%2Fmikeizbicki%2Fucr-cs100"
            class="btn btn-sm btn-with-count tooltipped tooltipped-n"
            aria-label="You must be signed in to fork a repository" rel="nofollow">
            <span class="octicon octicon-repo-forked"></span>
            Fork
          </a>
          <a href="/mikeizbicki/ucr-cs100/network" class="social-count">
            209
          </a>
        </li>
    </ul>
    
            <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
              <span class="mega-octicon octicon-repo"></span>
              <span class="author"><a href="/mikeizbicki" class="url fn" itemprop="url" rel="author"><span itemprop="title">mikeizbicki</span></a></span><!--
           --><span class="path-divider">/</span><!--
           --><strong><a href="/mikeizbicki/ucr-cs100" data-pjax="#js-repo-pjax-container">ucr-cs100</a></strong>
    
              <span class="page-context-loader">
                <img alt="" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </span>
    
            </h1>
          </div><!-- /.container -->
        </div><!-- /.repohead -->
    
        <div class="container">
          <div class="repository-with-sidebar repo-container new-discussion-timeline with-full-navigation ">
            <div class="repository-sidebar clearfix">
                
    <nav class="sunken-menu repo-nav js-repo-nav js-sidenav-container-pjax js-octicon-loaders"
         role="navigation"
         data-pjax="#js-repo-pjax-container"
         data-issue-count-url="/mikeizbicki/ucr-cs100/issues/counts">
      <ul class="sunken-menu-group">
        <li class="tooltipped tooltipped-w" aria-label="Code">
          <a href="/mikeizbicki/ucr-cs100" aria-label="Code" class="selected js-selected-navigation-item sunken-menu-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /mikeizbicki/ucr-cs100">
            <span class="octicon octicon-code"></span> <span class="full-word">Code</span>
            <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    </a>    </li>
    
          <li class="tooltipped tooltipped-w" aria-label="Issues">
            <a href="/mikeizbicki/ucr-cs100/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /mikeizbicki/ucr-cs100/issues">
              <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
              <span class="js-issue-replace-counter"></span>
              <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    </a>      </li>
    
        <li class="tooltipped tooltipped-w" aria-label="Pull requests">
          <a href="/mikeizbicki/ucr-cs100/pulls" aria-label="Pull requests" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g p" data-selected-links="repo_pulls /mikeizbicki/ucr-cs100/pulls">
              <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull requests</span>
              <span class="js-pull-replace-counter"></span>
              <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    </a>    </li>
    
      </ul>
      <div class="sunken-menu-separator"></div>
      <ul class="sunken-menu-group">
    
        <li class="tooltipped tooltipped-w" aria-label="Pulse">
          <a href="/mikeizbicki/ucr-cs100/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-selected-links="pulse /mikeizbicki/ucr-cs100/pulse">
            <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
            <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    </a>    </li>
    
        <li class="tooltipped tooltipped-w" aria-label="Graphs">
          <a href="/mikeizbicki/ucr-cs100/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-selected-links="repo_graphs repo_contributors /mikeizbicki/ucr-cs100/graphs">
            <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
            <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    </a>    </li>
      </ul>
    
    
    </nav>
    
                  <div class="only-with-full-nav">
                      
    <div class="js-clone-url clone-url open"
      data-protocol-type="http">
      <h3><span class="text-emphasized">HTTPS</span> clone URL</h3>
      <div class="input-group js-zeroclipboard-container">
        <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
               value="https://github.com/mikeizbicki/ucr-cs100.git" readonly="readonly">
        <span class="input-group-button">
          <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
        </span>
      </div>
    </div>
    
      
    <div class="js-clone-url clone-url "
      data-protocol-type="subversion">
      <h3><span class="text-emphasized">Subversion</span> checkout URL</h3>
      <div class="input-group js-zeroclipboard-container">
        <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
               value="https://github.com/mikeizbicki/ucr-cs100" readonly="readonly">
        <span class="input-group-button">
          <button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
        </span>
      </div>
    </div>
    
    
    
    <div class="clone-options">You can clone with
      <form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=http&amp;protocol_type=clone" class="inline-form js-clone-selector-form " data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="k36SdnciabHbqgYdqq3onciSatLf0isjJYloP64ZCaIBGWbc3TLW2fziGbLx+6a2MndtGXHG+h1zeIBgfwuTvg==" /></div><button class="btn-link js-clone-selector" data-protocol="http" type="submit">HTTPS</button></form> or <form accept-charset="UTF-8" action="/users/set_protocol?protocol_selector=subversion&amp;protocol_type=clone" class="inline-form js-clone-selector-form " data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="42YImTvbOb6krsOHIi5b1GU0xjbrhFFdzM03PXPwsdRno/YJZ8dhmZ7ybowZiWcDZ4fQvyzeHB4VE9S9l7xeig==" /></div><button class="btn-link js-clone-selector" data-protocol="subversion" type="submit">Subversion</button></form>.
      <a href="https://help.github.com/articles/which-remote-url-should-i-use" class="help tooltipped tooltipped-n" aria-label="Get help on which URL is right for you.">
        <span class="octicon octicon-question"></span>
      </a>
    </div>
    
    
    
    
                    <a href="/mikeizbicki/ucr-cs100/archive/2015spring.zip"
                       class="btn btn-sm sidebar-button"
                       aria-label="Download the contents of mikeizbicki/ucr-cs100 as a zip file"
                       title="Download the contents of mikeizbicki/ucr-cs100 as a zip file"
                       rel="nofollow">
                      <span class="octicon octicon-cloud-download"></span>
                      Download ZIP
                    </a>
                  </div>
            </div><!-- /.repository-sidebar -->
    
            <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
    
              
    <span id="js-show-full-navigation"></span>
    
    <div class="repository-meta js-details-container ">
        <div class="repository-description">
          open source software construction course
        </div>
    
    
    
    </div>
    
    <div class="overall-summary overall-summary-bottomless">
    
      <div class="stats-switcher-viewport js-stats-switcher-viewport">
        <div class="stats-switcher-wrapper">
        <ul class="numbers-summary">
          <li class="commits">
            <a data-pjax href="/mikeizbicki/ucr-cs100/commits/2015spring">
                <span class="octicon octicon-history"></span>
                <span class="num text-emphasized">
                  1,234
                </span>
                commits
            </a>
          </li>
          <li>
            <a data-pjax href="/mikeizbicki/ucr-cs100/branches">
              <span class="octicon octicon-git-branch"></span>
              <span class="num text-emphasized">
                5
              </span>
              branches
            </a>
          </li>
    
          <li>
            <a data-pjax href="/mikeizbicki/ucr-cs100/releases">
              <span class="octicon octicon-tag"></span>
              <span class="num text-emphasized">
                0
              </span>
              releases
            </a>
          </li>
    
          <li>
            
      <a href="/mikeizbicki/ucr-cs100/graphs/contributors">
        <span class="octicon octicon-organization"></span>
        <span class="num text-emphasized">
          130
        </span>
        contributors
      </a>
          </li>
        </ul>
    
          <div class="repository-lang-stats">
            <ol class="repository-lang-stats-numbers">
              <li>
                  <a href="/mikeizbicki/ucr-cs100/search?l=cpp">
                    <span class="color-block language-color" style="background-color:#f34b7d;"></span>
                    <span class="lang">C++</span>
                    <span class="percent">53.2%</span>
                  </a>
              </li>
              <li>
                  <a href="/mikeizbicki/ucr-cs100/search?l=tex">
                    <span class="color-block language-color" style="background-color:#3D6117;"></span>
                    <span class="lang">TeX</span>
                    <span class="percent">34.6%</span>
                  </a>
              </li>
              <li>
                  <a href="/mikeizbicki/ucr-cs100/search?l=c">
                    <span class="color-block language-color" style="background-color:#555555;"></span>
                    <span class="lang">C</span>
                    <span class="percent">6.1%</span>
                  </a>
              </li>
              <li>
                  <a href="/mikeizbicki/ucr-cs100/search?l=bash">
                    <span class="color-block language-color" style="background-color:#89e051;"></span>
                    <span class="lang">Shell</span>
                    <span class="percent">4.3%</span>
                  </a>
              </li>
              <li>
                  <a href="/mikeizbicki/ucr-cs100/search?l=makefile">
                    <span class="color-block language-color" style="background-color:#427819;"></span>
                    <span class="lang">Makefile</span>
                    <span class="percent">1.8%</span>
                  </a>
              </li>
            </ol>
          </div>
        </div>
      </div>
    
    </div>
    
      <div class="repository-lang-stats-graph js-toggle-lang-stats" title="Click for language details">
        <span class="language-color" aria-label="C++ 53.2%" style="width:53.2%; background-color:#f34b7d;" itemprop="keywords">C++</span>
        <span class="language-color" aria-label="TeX 34.6%" style="width:34.6%; background-color:#3D6117;" itemprop="keywords">TeX</span>
        <span class="language-color" aria-label="C 6.1%" style="width:6.1%; background-color:#555555;" itemprop="keywords">C</span>
        <span class="language-color" aria-label="Shell 4.3%" style="width:4.3%; background-color:#89e051;" itemprop="keywords">Shell</span>
        <span class="language-color" aria-label="Makefile 1.8%" style="width:1.8%; background-color:#427819;" itemprop="keywords">Makefile</span>
      </div>
    
    <include-fragment src="/mikeizbicki/ucr-cs100/show_partial?partial=tree%2Frecently_touched_branches_list"></include-fragment>
    
    <div class="file-navigation in-mid-page">
      <a href="/mikeizbicki/ucr-cs100/find/2015spring"
            class="js-show-file-finder btn btn-sm empty-icon tooltipped tooltipped-s right"
            data-pjax
            data-hotkey="t"
            aria-label="Quickly jump between files">
        <span class="octicon octicon-list-unordered"></span>
      </a>
        <a href="/mikeizbicki/ucr-cs100/compare" aria-label="Compare, review, create a pull request" class="btn btn-sm btn-primary tooltipped tooltipped-se left compare-button" aria-label="Compare &amp; review" data-pjax data-ga-click="Repository, go to compare view, location:repo overview; icon:git-compare">
          <span class="octicon octicon-git-compare"></span>
        </a>
    
      
    <div class="select-menu js-menu-container js-select-menu left">
      <span class="btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
        data-ref="2015spring"
        title="2015spring"
        role="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true">
        <span class="octicon octicon-git-branch"></span>
        <i>branch:</i>
        <span class="js-select-button css-truncate-target">2015spring</span>
      </span>
    
      <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true">
    
        <div class="select-menu-modal">
          <div class="select-menu-header">
            <span class="select-menu-title">Switch branches/tags</span>
            <span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span>
          </div>
    
          <div class="select-menu-filters">
            <div class="select-menu-text-filter">
              <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
            </div>
            <div class="select-menu-tabs">
              <ul>
                <li class="select-menu-tab">
                  <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab">Branches</a>
                </li>
                <li class="select-menu-tab">
                  <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab">Tags</a>
                </li>
              </ul>
            </div>
          </div>
    
          <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches">
    
            <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
    
    
                <a class="select-menu-item js-navigation-item js-navigation-open selected"
                   href="/mikeizbicki/ucr-cs100/tree/2015spring"
                   data-name="2015spring"
                   data-skip-pjax="true"
                   rel="nofollow">
                  <span class="select-menu-item-icon octicon octicon-check"></span>
                  <span class="select-menu-item-text css-truncate-target" title="2015spring">
                    2015spring
                  </span>
                </a>
                <a class="select-menu-item js-navigation-item js-navigation-open "
                   href="/mikeizbicki/ucr-cs100/tree/2015winter"
                   data-name="2015winter"
                   data-skip-pjax="true"
                   rel="nofollow">
                  <span class="select-menu-item-icon octicon octicon-check"></span>
                  <span class="select-menu-item-text css-truncate-target" title="2015winter">
                    2015winter
                  </span>
                </a>
                <a class="select-menu-item js-navigation-item js-navigation-open "
                   href="/mikeizbicki/ucr-cs100/tree/cs100-2014fall"
                   data-name="cs100-2014fall"
                   data-skip-pjax="true"
                   rel="nofollow">
                  <span class="select-menu-item-icon octicon octicon-check"></span>
                  <span class="select-menu-item-text css-truncate-target" title="cs100-2014fall">
                    cs100-2014fall
                  </span>
                </a>
                <a class="select-menu-item js-navigation-item js-navigation-open "
                   href="/mikeizbicki/ucr-cs100/tree/cs100-2014summer"
                   data-name="cs100-2014summer"
                   data-skip-pjax="true"
                   rel="nofollow">
                  <span class="select-menu-item-icon octicon octicon-check"></span>
                  <span class="select-menu-item-text css-truncate-target" title="cs100-2014summer">
                    cs100-2014summer
                  </span>
                </a>
                <a class="select-menu-item js-navigation-item js-navigation-open "
                   href="/mikeizbicki/ucr-cs100/tree/revert-770-2015winter"
                   data-name="revert-770-2015winter"
                   data-skip-pjax="true"
                   rel="nofollow">
                  <span class="select-menu-item-icon octicon octicon-check"></span>
                  <span class="select-menu-item-text css-truncate-target" title="revert-770-2015winter">
                    revert-770-2015winter
                  </span>
                </a>
            </div>
    
              <div class="select-menu-no-results">Nothing to show</div>
          </div>
    
          <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
            <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
    
    
            </div>
    
            <div class="select-menu-no-results">Nothing to show</div>
          </div>
    
        </div>
      </div>
    </div>
    
    
    
      <div class="breadcrumb"><span class="repo-root js-repo-root"><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/mikeizbicki/ucr-cs100" class="" data-branch="2015spring" data-pjax="true" itemscope="url"><span itemprop="title">ucr-cs100</span></a></span></span><span class="separator">/</span>
        <a class="btn-link disabled tooltipped tooltipped-e" href="#" aria-label="You must be signed in to make or propose changes">
          <span class="octicon octicon-plus"></span>
        </a>
    </div>
    </div>
    
    
    
      
      <div class="commit commit-tease js-details-container" >
        <p class="commit-title ">
            <a href="/mikeizbicki/ucr-cs100/commit/1cc93be110d2f1197aba0d99f38bfc4ed1161d7e" class="message" data-pjax="true" title="Merge pull request #1737 from htang014/patch-8
    
    One final attempt at grammar fix">Merge pull request</a> <a href="https://github.com/mikeizbicki/ucr-cs100/pull/1737" class="issue-link" title="One final attempt at grammar fix">#1737</a> <a href="/mikeizbicki/ucr-cs100/commit/1cc93be110d2f1197aba0d99f38bfc4ed1161d7e" class="message" data-pjax="true" title="Merge pull request #1737 from htang014/patch-8
    
    One final attempt at grammar fix">from htang014/patch-8</a>
            <span class="hidden-text-expander inline"><a href="#" class="js-details-target">…</a></span>
        </p>
          <div class="commit-desc"><pre>One final attempt at grammar fix</pre></div>
        <div class="commit-meta">
          <button aria-label="Copy SHA" class="js-zeroclipboard zeroclipboard-link tooltipped tooltipped-s" data-clipboard-text="1cc93be110d2f1197aba0d99f38bfc4ed1161d7e" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
          <a href="/mikeizbicki/ucr-cs100/commit/1cc93be110d2f1197aba0d99f38bfc4ed1161d7e" class="sha-block" data-pjax>latest commit <span class="sha">1cc93be110</span></a>
    
          <div class="authorship">
            <img alt="@mikeizbicki" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/1052630?v=3&amp;s=40" width="20" />
            <span class="author-name"><a href="/mikeizbicki" rel="author">mikeizbicki</a></span>
            authored <time class="updated" datetime="2015-06-09T08:18:10Z" is="relative-time">Jun 9, 2015</time>
    
          </div>
        </div>
      </div>
    
      
    <div class="file-wrap">
      <a href="/mikeizbicki/ucr-cs100/tree/1cc93be110d2f1197aba0d99f38bfc4ed1161d7e" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a>
    
      <table class="files" data-pjax>
    
    
        <tbody>
          <tr class="warning include-fragment-error">
            <td class="icon"><span class="octicon octicon-alert"></span></td>
            <td class="content" colspan="3">Failed to load latest commit information.</td>
          </tr>
    
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-directory"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/tree/2015spring/assignments" class="js-directory-link" id="17b32329e54191537595822b7b2794a3-1284cc427dd4d7dc4534cadec22765d1df396ce4" title="assignments">assignments</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/f08e78c4530970d13b993698bacf3e8e53ada349" class="message" data-pjax="true" title="Update README.md">Update README.md</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-06-02T22:14:46Z" is="time-ago">Jun 2, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-directory"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/tree/2015spring/cheatsheets" class="js-directory-link" id="383e60cb5bc80911fcb1b4d0cc1ea3e0-29e92007e185011756ea832bd49ddb587d96342d" title="cheatsheets">cheatsheets</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/054468d6aff85a8168e0848f5e5d63e9b370fea0" class="message" data-pjax="true" title="merged">merged</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-04-03T17:33:22Z" is="time-ago">Apr 3, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-submodule"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/gitlearn" data-skip-pjax="true">gitlearn</a><span class="ref" title="https://github.com/mikeizbicki/gitlearn @ 50a66b89040b8c3d4a3eeafd370a7438e54ba859"> @ <a href="/mikeizbicki/gitlearn/tree/50a66b89040b8c3d4a3eeafd370a7438e54ba859" data-skip-pjax="true">50a66b8</a></span></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/fa7b6ecf503c70c3bde74dd727ad62907140bd23" class="message" data-pjax="true" title="made repo ready for student grades">made repo ready for student grades</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-04-12T02:49:59Z" is="time-ago">Apr 11, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-directory"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/tree/2015spring/lecture-notes" class="js-directory-link" id="5d4ca94d12f41e4e12da004896f7d0aa-d4318d9a0a4a7b5440203ce87191681294262087" title="lecture-notes">lecture-notes</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/c622936b944a5b547a16549091056a5448d9babf" class="message" data-pjax="true" title="lecture notes">lecture notes</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-06-02T19:15:24Z" is="time-ago">Jun 2, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-directory"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/tree/2015spring/people" class="js-directory-link" id="12a032ce9179c32a6c7ab397b9d871fa-c1ac17bb3a68bdf0309c6485070b562f0fcaae9c" title="people">people</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/e5bad188150801ce80ba8b3ba8c418d62c67bfe0" class="message" data-pjax="true" title="Update mchen046">Update mchen046</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-04-27T06:18:10Z" is="time-ago">Apr 26, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-directory"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/tree/2015spring/textbook" class="js-directory-link" id="994d5713c92167a0051cb7baaa2c312a-ac1b8569b72fc66281c0dad7ab2b9efa3f83f03f" title="textbook">textbook</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/a2acd08b25f3b436ce05c14b3474afadbb4e09d0" class="message" data-pjax="true" title="One final attempt at grammar fix
    
    Sorry for all the pull requests">One final attempt at grammar fix</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-06-09T07:23:21Z" is="time-ago">Jun 9, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-directory"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/tree/2015spring/videos" class="js-directory-link" id="cce3df80f07d36b56db4376a4802d6c2-538ab232a41d97d220d61b7c059834f7d0b4a43f" title="videos">videos</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/785659329e6b3a0ad5c55f8b2164dc0b1e206534" class="message" data-pjax="true" title="fixed spelling and grammar mistakes">fixed spelling and grammar mistakes</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-05-20T08:07:06Z" is="time-ago">May 20, 2015</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-text"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/blob/2015spring/.gitignore" class="js-directory-link" id="a084b794bc0759e7a6b77810e01874f2-f5a3cbb10e8f9aaf30704c9f5b255e235bba8c87" title=".gitignore">.gitignore</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/aebaf0362340572a6f82577f2cd60d02e090b36b" class="message" data-pjax="true" title="forgot to add this a while back">forgot to add this a while back</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2014-10-07T23:07:39Z" is="time-ago">Oct 7, 2014</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-text"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/blob/2015spring/.gitmodules" class="js-directory-link" id="8903239df476d7401cf9e76af0252622-36ed1a25198b684ec719b5536ecf6206552da9c0" title=".gitmodules">.gitmodules</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/d76fec72f8f389e54f5fa81c829515082dca4dff" class="message" data-pjax="true" title="reset repo for new quarter">reset repo for new quarter</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2014-12-31T23:36:43Z" is="time-ago">Dec 31, 2014</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-text"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/blob/2015spring/LICENSE" class="js-directory-link" id="9879d6db96fd29134fc802214163b95a-d3d35405f5f3c8f3823f4825091bfe727739003d" title="LICENSE">LICENSE</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/f785537e0168a03fd75737d048484581d3826d39" class="message" data-pjax="true" title="updated license file">updated license file</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2014-09-23T19:53:12Z" is="time-ago">Sep 23, 2014</time></span>
              </td>
            </tr>
            <tr>
              <td class="icon">
                <span class="octicon octicon-file-text"></span>
                <img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
              </td>
              <td class="content">
                <span class="css-truncate css-truncate-target"><a href="/mikeizbicki/ucr-cs100/blob/2015spring/README.md" class="js-directory-link" id="04c6e90faac2675aa89e2176d2eec7d8-e650baced06392111366d520b54b6fcc7949be24" title="README.md">README.md</a></span>
              </td>
              <td class="message">
                <span class="css-truncate css-truncate-target">
                  <a href="/mikeizbicki/ucr-cs100/commit/75d7741ae0416ad9914a34e25fb7046ea3c3ed84" class="message" data-pjax="true" title="Merge pull request #1558 from kluu006/2015spring
    
    due date">Merge pull request</a> <a href="https://github.com/mikeizbicki/ucr-cs100/pull/1558" class="issue-link" title="due date">#1558</a> <a href="/mikeizbicki/ucr-cs100/commit/75d7741ae0416ad9914a34e25fb7046ea3c3ed84" class="message" data-pjax="true" title="Merge pull request #1558 from kluu006/2015spring
    
    due date">from kluu006/2015spring</a>
                </span>
              </td>
              <td class="age">
                <span class="css-truncate css-truncate-target"><time datetime="2015-05-17T09:24:41Z" is="time-ago">May 17, 2015</time></span>
              </td>
            </tr>
        </tbody>
      </table>
    
    </div>
    
    
      <div id="readme" class="boxed-group flush clearfix announce instapaper_body md">
        <h3>
          <span class="octicon octicon-book"></span>
          README.md
        </h3>
    
        <article class="markdown-body entry-content" itemprop="mainContentOfPage"><h2><a id="user-content-cs100---open-source-software-construction" class="anchor" href="#cs100---open-source-software-construction" aria-hidden="true"><span class="octicon octicon-link"></span></a>cs100 - open source software construction</h2>
    
    <p>This is a course on <a href="http://www.catb.org/esr/faqs/hacker-howto.html">how to be a hacker</a>.
    Being a hacker <a href="http://www.catb.org/jargon/html/H/hacker.html">means a lot of things</a>.
    It means:</p>
    
    <ol>
    <li><p>wanting to know <em>how</em> and <em>why</em> computers work</p></li>
    <li><p>being efficient / never repeating yourself</p></li>
    <li><p>using and contributing to open source software</p></li>
    <li><p>understanding the edge cases of your software</p></li>
    <li><p>using tools in creative and unexpected ways</p></li>
    <li><p>(occasionally) we combine all these together and break stuff</p></li>
    </ol>
    
    <p>Hacking is a mindset.
    I can't force it on you---it's up to you to embrace it.
    For example, we'll be discussing many new tools in this course:
    a version control system called <code>git</code>,
    an editor called <code>vim</code>,
    debugging tools called <code>gdb</code>, <code>valgrind</code>, and <code>cppcheck</code>,
    and we'll be going into quite a bit more depth on how to use the <code>bash</code> shell and the <code>Linux</code> operating system.
    All of these tools are very weird.
    Using them will make you uncomfortable.
    At first.
    But these tools are powerful.
    Mastering these tools will make you a <em>much</em> more efficient programmer.
    Once you've mastered them, you'll never go back.</p>
    
    <p>There are two main projects you will work on in this course:</p>
    
    <ol>
    <li><p>Your first four homework assignments walk you through the process of building your own unix shell.
    This is the biggest project you've undertaken so far.
    You'll be developing it as an open source project,
    and you will collaborate with each other at various points.</p></li>
    <li><p>Your last homework assignment is to contribute to the open source community by improving the documentation on a project of your choice.
    Many of the required readings for this course were written by former cs100 students.
    If you do a good job on this project, future cs 100 students will be learning from you for years to come!</p></li>
    </ol>
    
    <p>By the end of the course, you should be comfortable running your own open source projects and contributing to other people's projects.</p>
    
    <h3><a id="user-content-instructors" class="anchor" href="#instructors" aria-hidden="true"><span class="octicon octicon-link"></span></a>instructors</h3>
    
    <table><thead>
    <tr>
    <th>position</th>
    <th>name</th>
    <th>office hours (WCH 110)</th>
    </tr>
    </thead><tbody>
    <tr>
    <td>lecturer</td>
    <td>Mike Izbicki</td>
    <td>Tuesdays, 12:40-2PM</td>
    </tr>
    <tr>
    <td>teaching assistant</td>
    <td>Busra Celikkaya</td>
    <td>Fridays, 12:30-2:30PM</td>
    </tr>
    </tbody></table>
    
    <p><strong>IMPORTANT:</strong>
    If you want to contact the instructors about the course, you should report an issue via github.
    We will talk about how to do this in class.
    This is a system similar to the piazza system you may already be familiar with,
    but it is more popular for open source software development.</p>
    
    <h3><a id="user-content-course-schedules" class="anchor" href="#course-schedules" aria-hidden="true"><span class="octicon octicon-link"></span></a>course schedules</h3>
    
    <p>Our lectures will roughly follow this schedule.
    You should do the required readings before class.
    I will occasionally have unscheduled quizzes to ensure you are doing the reading.</p>
    
    <table><thead>
    <tr>
    <th>week</th>
    <th>date</th>
    <th>reading</th>
    <th>topics</th>
    </tr>
    </thead><tbody>
    <tr>
    <td>1</td>
    <td>Mar30</td>
    <td>Daniel Lemire's <a href="http://lemire.me/blog/archives/2014/12/30/how-to-learn-efficiently/">how to learn efficiently</a> (recommended; not required)</td>
    <td>introduction; using vim</td>
    </tr>
    <tr>
    <td>1</td>
    <td>Apr01</td>
    <td>ESR's <a href="http://www.catb.org/esr/writings/taoup/html/context.html">all about unix</a></td>
    <td>version control with git</td>
    </tr>
    <tr>
    <td>1</td>
    <td>Apr03</td>
    <td>ESR's <a href="http://www.catb.org/esr/writings/taoup/html/ch16s07.html">about common software licenses</a>; the New Yorker's <a href="http://www.newyorker.com/business/currency/the-gnu-manifesto-turns-thirty?intcid=mod-latest">30 year retrospective on the GNU manifesto</a></td>
    <td>version control with git</td>
    </tr>
    <tr>
    <td>2</td>
    <td>Apr06</td>
    <td>Paul Graham's <a href="http://www.paulgraham.com/college.html">what to do in college</a></td>
    <td>version control with git</td>
    </tr>
    <tr>
    <td>2</td>
    <td>Apr08</td>
    <td>Ian Malpass's <a href="https://medium.com/@indec/advice-to-future-software-engineers-64a29669d179">advice to future software engineers</a>; Linus Tolvalds <a href="http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds">gets interviewed on why he developed git</a></td>
    <td>version control with git</td>
    </tr>
    <tr>
    <td>2</td>
    <td>Apr10</td>
    <td>Lucas Xu's <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/tools/make">Makefile tutorial</a>; Alexander Ortiz's <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/bestpractices/WritingREADMEs">how to write a README file</a>; ESR's thoughts on <a href="http://www.catb.org/esr/writings/taoup/html/ch18s02.html">unix documentation part I</a> and <a href="http://www.catb.org/esr/writings/taoup/html/ch18s06.html">part II</a></td>
    <td>syscalls: managing processes (<code>fork</code>,<code>wait</code>,<code>exec</code>,<code>perror</code>); <strong>quiz</strong></td>
    </tr>
    <tr>
    <td>3</td>
    <td>Apr13</td>
    <td>the relevant sections of the <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/syscalls">syscalls tutorial</a></td>
    <td>syscalls: managing processes (<code>fork</code>,<code>wait</code>,<code>exec</code>,<code>perror</code>)</td>
    </tr>
    <tr>
    <td>3</td>
    <td>Apr15</td>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/bitwise-ops">bitwise operators</a>; <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/macros">macros</a></td>
    <td>syscalls: managing files (<code>open</code>,<code>close</code>,<code>read</code>,<code>write</code>)</td>
    </tr>
    <tr>
    <td>3</td>
    <td>Apr17</td>
    <td>the relevant sections of the <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/syscalls">syscalls tutorial</a></td>
    <td>syscalls: managing files (<code>open</code>,<code>close</code>,<code>read</code>,<code>write</code>)</td>
    </tr>
    <tr>
    <td>4</td>
    <td>Apr20</td>
    <td>William Coates' <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/tools/valgrind">valgrind tutorial</a>;</td>
    <td>debugging tools (<code>gdb</code>,<code>valgrind</code>,<code>cppcheck</code>)</td>
    </tr>
    <tr>
    <td>4</td>
    <td>Apr22</td>
    <td>Jeff Atwood's <a href="http://blog.codinghorror.com/how-to-become-a-better-programmer-by-not-programming/">how to become a better programmer</a></td>
    <td>debugging tools (<code>gdb</code>,<code>valgrind</code>,<code>cppcheck</code>)</td>
    </tr>
    <tr>
    <td>4</td>
    <td>Apr24</td>
    <td>the relevant sections of the <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/syscalls">syscalls tutorial</a></td>
    <td>syscalls: managing directories (<code>readdir</code>,<code>stat</code>);<strong>quiz</strong></td>
    </tr>
    <tr>
    <td>5</td>
    <td>Apr27</td>
    <td>Ycombinator's <a href="http://old.ycombinator.com/ideas.html">startup ideas we'd like to fund</a> and Paul Graham's <a href="http://paulgraham.com/startupfunding.html">start up funding</a></td>
    <td>shell scripting: io redirection/piping</td>
    </tr>
    <tr>
    <td>5</td>
    <td>Apr29</td>
    <td>Patrick McKenzie <a href="http://www.kalzumeus.com/2012/01/23/salary-negotiation/">on salary negotiation for programmers</a> (it's long; you don't have to read it all)</td>
    <td>shell scripting: io redirection/piping</td>
    </tr>
    <tr>
    <td>5</td>
    <td>May01</td>
    <td>Shubhro Saha's <a href="http://www.shubhro.com/2014/12/27/software-engineers-should-write/">why engineers should write</a>; the economist's <a href="http://www.economist.com/styleguide/introduction">good writing style</a></td>
    <td>writing good documentation</td>
    </tr>
    <tr>
    <td>6</td>
    <td>May04</td>
    <td></td>
    <td>syscalls: io redirection/piping (<code>pipe</code>,<code>dup</code>)</td>
    </tr>
    <tr>
    <td>6</td>
    <td>May06</td>
    <td>the relevant sections of the <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/syscalls">syscalls tutorial</a></td>
    <td>syscalls: io redirection/piping (<code>pipe</code>,<code>dup</code>)</td>
    </tr>
    <tr>
    <td>6</td>
    <td>May08</td>
    <td>ESR's classic <a href="http://www.catb.org/esr/writings/taoup/html/unix_koans.html">Master Foo series</a></td>
    <td>shell scripting: control flow with <code>if</code> and <code>for</code>; <strong>quiz</strong></td>
    </tr>
    <tr>
    <td>7</td>
    <td>May11</td>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/tools/bash/regex#regular-expressions">regular expressions</a></td>
    <td>shell scripting: environment variables (<code>export</code>,<code>PATH</code>,<code>HOME</code>,<code>EDITOR</code>)</td>
    </tr>
    <tr>
    <td>7</td>
    <td>May13</td>
    <td></td>
    <td>shell scripting: environment variables (<code>export</code>,<code>PATH</code>,<code>HOME</code>,<code>EDITOR</code>)</td>
    </tr>
    <tr>
    <td>7</td>
    <td>May15</td>
    <td></td>
    <td>syscalls: signal handling (<code>signal</code>,<code>sigaction</code>)</td>
    </tr>
    <tr>
    <td>8</td>
    <td>May18</td>
    <td></td>
    <td>syscalls: signal handling (<code>signal</code>,<code>sigaction</code>)</td>
    </tr>
    <tr>
    <td>8</td>
    <td>May20</td>
    <td>the relevant sections of the <a href="/mikeizbicki/ucr-cs100/blob/2015spring/textbook/assignment-help/syscalls">syscalls tutorial</a></td>
    <td>shell scripting: environment variables (<code>export</code>,<code>PATH</code>,<code>HOME</code>,<code>EDITOR</code>)</td>
    </tr>
    <tr>
    <td>8</td>
    <td>May22</td>
    <td></td>
    <td>syscalls: environment variables (<code>getenv</code>,<code>setenv</code>); <strong>quiz</strong></td>
    </tr>
    <tr>
    <td>9</td>
    <td>May25</td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td>9</td>
    <td>May27</td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td>9</td>
    <td>May29</td>
    <td>ESR's thoughts on <a href="http://www.catb.org/esr/writings/taoup/html/ch20s03.html">flaws with unix</a>; Poul-Henning Kamp's <a href="https://queue.acm.org/detail.cfm?id=2349257&amp;ref=fullrss">a generation lost in the bazaar</a></td>
    <td>the flaws of Unix and open source</td>
    </tr>
    <tr>
    <td>10</td>
    <td>Jun01</td>
    <td></td>
    <td>case study: hacking the email system and the <a href="http://ioccc.org">ioccc.org</a></td>
    </tr>
    <tr>
    <td>10</td>
    <td>Jun03</td>
    <td></td>
    <td>case study: stuxnet and heartbleed</td>
    </tr>
    <tr>
    <td>10</td>
    <td>Jun05</td>
    <td></td>
    <td><strong>final quiz</strong></td>
    </tr>
    </tbody></table>
    
    
    
    <p>If there's something you want to learn not on the schedule, let me know!
    We have a lot of flexibility in this course to learn fun things.</p>
    
    <p>The assignments are due on the following days:</p>
    
    <table><thead>
    <tr>
    <th>assignment</th>
    <th>date</th>
    </tr>
    </thead><tbody>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw0-rshell">hw0</a></td>
    <td>Sunday Apr19 @ 11:59 PM</td>
    </tr>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw1-ls">hw1</a></td>
    <td>Friday May01 @ 11:59 PM</td>
    </tr>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw4-contributing">hw4</a> - topic</td>
    <td>Wednesday May06 before class</td>
    </tr>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw2-piping">hw2</a></td>
    <td>Sunday May17 @ 11:59 PM</td>
    </tr>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw4-contributing">hw4</a> - draft</td>
    <td>Wednesday May20 before class</td>
    </tr>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw3-signals">hw3</a></td>
    <td>Friday May29 @ 11:59 PM</td>
    </tr>
    <tr>
    <td><a href="/mikeizbicki/ucr-cs100/blob/2015spring/assignments/hw/hw4-contributing">hw4</a> - final</td>
    <td>Friday Jun05 @ 11:59 PM</td>
    </tr>
    </tbody></table>
    
    <p>You will receive -10 pts for each hour (rounded up) that your assignment is late.</p>
    
    <h3><a id="user-content-grades" class="anchor" href="#grades" aria-hidden="true"><span class="octicon octicon-link"></span></a>grades</h3>
    
    <p>We will not be using ilearn in this course.
    Instead, we will be using a course management system called <code>gitlearn</code>.
    This software was developed in part by previous cs100 students,
    and you will be able to earn considerable extra credit by contributing to it.
    We will be using this system as a case study in bash programming and the unix philosophy.
    For details, see the <a href="https://github.com/mikeizbicki/gitlearn">gitlearn repo</a>.</p>
    
    <h3><a id="user-content-cheating-policy" class="anchor" href="#cheating-policy" aria-hidden="true"><span class="octicon octicon-link"></span></a>cheating policy</h3>
    
    <p>Every assignment specifies different collaboration policies.
    Some assignments will be individual, and some will be in a group.
    Follow the specified policy exactly!</p>
    
    <p>I take cheating seriously.
    When I catch students cheating, I give them an F in the class.
    Then I forward your case to the academic integrity board and recommend that you be expelled from UCR.</p>
    
    <p>All of your code will be run through an automated cheating detector.
    It is very good.
    It understands C++ better than you do and can find instances of cheating much more sophisticated than just copy and pasting.</p>
    </article>
      </div>
    
    
            </div>
    
          </div><!-- /.repo-container -->
          <div class="modal-backdrop"></div>
        </div><!-- /.container -->
      </div><!-- /.site -->
    
    
        </div><!-- /.wrapper -->
    
          <div class="container">
      <div class="site-footer" role="contentinfo">
        <ul class="site-footer-links right">
            <li><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
          <li><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
          <li><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
          <li><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
            <li><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
            <li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li>
    
        </ul>
    
        <a href="https://github.com" aria-label="Homepage">
          <span class="mega-octicon octicon-mark-github" title="GitHub"></span>
    </a>
        <ul class="site-footer-links">
          <li>&copy; 2015 <span title="0.03634s from github-fe126-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
            <li><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>
            <li><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>
            <li><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li>
            <li><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact</a></li>
        </ul>
      </div>
    </div>
    
    
        <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
      <div class="fullscreen-container js-suggester-container">
        <div class="textarea-wrap">
          <textarea name="fullscreen-contents" id="fullscreen-contents" class="fullscreen-contents js-fullscreen-contents" placeholder=""></textarea>
          <div class="suggester-container">
            <div class="suggester fullscreen-suggester js-suggester js-navigation-container"></div>
          </div>
        </div>
      </div>
      <div class="fullscreen-sidebar">
        <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped tooltipped-w" aria-label="Exit Zen Mode">
          <span class="mega-octicon octicon-screen-normal"></span>
        </a>
        <a href="#" class="theme-switcher js-theme-switcher tooltipped tooltipped-w"
          aria-label="Switch themes">
          <span class="octicon octicon-color-mode"></span>
        </a>
      </div>
    </div>
    
    
    
        
    
        <div id="ajax-error-message" class="flash flash-error">
          <span class="octicon octicon-alert"></span>
          <a href="#" class="octicon octicon-x flash-close js-ajax-error-dismiss" aria-label="Dismiss error"></a>
          Something went wrong with that request. Please try again.
        </div>
    
    
          <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-68c41efebc976764e6b82e425124ad913abbe691b87d1681debeb2554e8a0d3a.js"></script>
          <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github/index-8d9ac24ecec907c7f13871519a661f464269e254cb013ea0e1bbd1be03e1605d.js"></script>
          
          
      </body>
    </html>