<commit_before><!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>LaunchCode&#039;s CS50x - St. Louis</title>

        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/bootstrap.min.css">
        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/font-awesome.min.css">
        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/highlight.dark.css">
        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/main.css">
    </head>
    <body>

        <header class="navbar navbar-default navbar-fixed-top">

            <a class="navbar-brand" href="http://education.launchcode.org/cs50x-stlouis/">
                LaunchCode&#039;s CS50x - St. Louis
            </a>

        </header>

        <main class="container-fluid">
            <div class="row">

                
                    <nav id="sidebar" class="col-sm-3 col-lg-2" role="navigation">

                        <ul class="nav nav-pills nav-stacked">
                                                            <li class="">
                                    <a href="http://education.launchcode.org/cs50x-stlouis/calendar/">
                                        Calendar
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://education.launchcode.org/cs50x-stlouis/how-to-take-this-class/">
                                        How To Take This Class
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://education.launchcode.org/cs50x-stlouis/helpful-resources/">
                                        Helpful Resources
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://cs50.io/">
                                        CS50 IDE
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="https://labs.vocareum.com/home/login.php">
                                        Vocareum
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://piazza.com/wustl/spring2016/cs50x">
                                        Piazza
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="https://docs.google.com/document/d/1ac1Xpvnjh9-4C3Lb6J4CnodOwp54EBJAg4ooduG0gsw/">
                                        Student Guide
                                    </a>
                                </li>
                                                    </ul>

                    </nav>

                
                <section id="content" class="col-sm-offset-3 col-lg-offset-2 col-sm-9 col-lg-10">
                    <p><a href="../../..">Back to Course Calendar</a></p>
<h1 id="module-4">Module 4</h1>
<p><strong>Pre-reqs:</strong> You should have completed <a href="../../unit1-fundamentals/module3">Module 3</a></p>
<h4 id="synopsis">Synopsis</h4>
<p>Module 4 introduces a number of important topics:</p>
<ul>
<li><strong>pointers and memory management</strong>: Here we will peel back the curtain on how data is stored in the computer's memory. We will learn new syntax for moving back and forth between a normal value stored in a variable, and a <em>pointer</em> to the memory address where that value is stored.</li>
<li><strong>file i/o</strong> allows you interact with saved files on the computer. I/O stands for in/out: you will learn both how to read in data from a file, and write out new data to a file.</li>
<li><strong>structs</strong> are a way of creating new data types. So far we've seen &quot;primitive&quot; types like <code>int</code>, <code>float</code> and <code>char</code>, as well as larger collection types like <code>array</code>. With structs, you can represent more complex custom types by combining these primitives together into clusters.</li>
</ul>
<p>In Problem Set 4, you will combine your new skills in these topics to write programs that manipulate image files. You will literally be digging into the raw bytes of these images to rewrite their pixels.</p>
<hr />
<h3 id="steps">Steps</h3>
<table>
<thead>
<tr>
<th style="text-align: center;">Class #</th>
<th style="text-align: center;">Date</th>
<th style="text-align: center;">Before Class</th>
<th style="text-align: center;">During Class</th>
<th>Topics/Skills</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">Class 1</td>
<td style="text-align: center;">2/23</td>
<td style="text-align: center;"><a href="./materials/class1-prep">Prep Work</a></td>
<td style="text-align: center;"><a href="./materials/class1">In Class</a></td>
<td>more practice with recursion, pointers, malloc</td>
</tr>
<tr>
<td style="text-align: center;">Class 2</td>
<td style="text-align: center;">2/25</td>
<td style="text-align: center;"><a href="./materials/class2-prep">Prep Work</a></td>
<td style="text-align: center;"><a href="./materials/class2">In Class</a></td>
<td>hexadecimal, file io, structs</td>
</tr>
<tr>
<td style="text-align: center;">Class 3</td>
<td style="text-align: center;">3/1</td>
<td style="text-align: center;">Read <a href="https://drive.google.com/file/d/0B-IXJ6m5VmoqbVZ1cnpsZDEwMlE/view?usp=sharing" target="_blank">Soft Skills Prep</a><br>Work on <a href="./materials/problem-set">Problem Set 4</a></td>
<td style="text-align: center;"><a href="./materials/class3">In Class</a></td>
<td>Soft Skills Presentation, office hours</td>
</tr>
</tbody>
</table>
                </section>

            </div>
        </main>

        <footer>
            <div class="container-fluid"><commit_msg>Website generation with Couscous<commit_after><!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>LaunchCode&#039;s CS50x - St. Louis</title>

        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/bootstrap.min.css">
        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/font-awesome.min.css">
        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/highlight.dark.css">
        <link rel="stylesheet" href="http://education.launchcode.org/cs50x-stlouis/css/main.css">
    </head>
    <body>

        <header class="navbar navbar-default navbar-fixed-top">

            <a class="navbar-brand" href="http://education.launchcode.org/cs50x-stlouis/">
                LaunchCode&#039;s CS50x - St. Louis
            </a>

        </header>

        <main class="container-fluid">
            <div class="row">

                
                    <nav id="sidebar" class="col-sm-3 col-lg-2" role="navigation">

                        <ul class="nav nav-pills nav-stacked">
                                                            <li class="">
                                    <a href="http://education.launchcode.org/cs50x-stlouis/calendar/">
                                        Calendar
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://education.launchcode.org/cs50x-stlouis/how-to-take-this-class/">
                                        How To Take This Class
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://education.launchcode.org/cs50x-stlouis/helpful-resources/">
                                        Helpful Resources
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://cs50.io/">
                                        CS50 IDE
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="https://labs.vocareum.com/home/login.php">
                                        Vocareum
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="http://piazza.com/wustl/spring2016/cs50x">
                                        Piazza
                                    </a>
                                </li>
                                                            <li class="">
                                    <a href="https://docs.google.com/document/d/1ac1Xpvnjh9-4C3Lb6J4CnodOwp54EBJAg4ooduG0gsw/">
                                        Student Guide
                                    </a>
                                </li>
                                                    </ul>

                    </nav>

                
                <section id="content" class="col-sm-offset-3 col-lg-offset-2 col-sm-9 col-lg-10">
                    <p><a href="../../..">Back to Course Calendar</a></p>
<h1 id="module-4">Module 4</h1>
<p><strong>Pre-reqs:</strong> You should have completed <a href="../../unit1-fundamentals/module3">Module 3</a></p>
<h4 id="synopsis">Synopsis</h4>
<p>Module 4 introduces a number of important topics:</p>
<ul>
<li><strong>pointers and memory management</strong>: Here we will peel back the curtain on how data is stored in the computer's memory. We will learn new syntax for moving back and forth between a normal value stored in a variable, and a <em>pointer</em> to the memory address where that value is stored.</li>
<li><strong>file i/o</strong> allows you interact with saved files on the computer. I/O stands for in/out: you will learn both how to read in data from a file, and write out new data to a file.</li>
<li><strong>structs</strong> are a way of creating new data types. So far we've seen &quot;primitive&quot; types like <code>int</code>, <code>float</code> and <code>char</code>, as well as larger collection types like <code>array</code>. With structs, you can represent more complex custom types by combining these primitives together into clusters.</li>
</ul>
<p>In Problem Set 4, you will combine your new skills in these topics to write programs that manipulate image files. You will literally be digging into the raw bytes of these images to rewrite their pixels.</p>
<hr />
<h3 id="steps">Steps</h3>
<table>
<thead>
<tr>
<th style="text-align: center;">Class #</th>
<th style="text-align: center;">Date</th>
<th style="text-align: center;">Before Class</th>
<th style="text-align: center;">During Class</th>
<th>Topics/Skills</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">Class 1</td>
<td style="text-align: center;">2/23</td>
<td style="text-align: center;"><a href="./materials/class1-prep">Prep Work</a></td>
<td style="text-align: center;"><a href="./materials/class1">In Class</a></td>
<td>more practice with recursion, pointers, malloc</td>
</tr>
<tr>
<td style="text-align: center;">Class 2</td>
<td style="text-align: center;">2/25</td>
<td style="text-align: center;"><a href="./materials/class2-prep">Prep Work</a></td>
<td style="text-align: center;"><a href="./materials/class2">In Class</a></td>
<td>hexadecimal, file io, structs</td>
</tr>
<tr>
<td style="text-align: center;">Class 3</td>
<td style="text-align: center;">3/1</td>
<td style="text-align: center;">Read <a href="https://drive.google.com/file/d/0B-IXJ6m5VmoqbVZ1cnpsZDEwMlE/view?usp=sharing" target="_blank">Soft Skills prep</a><br>Work on <a href="./materials/problem-set">Problem Set 4</a></td>
<td style="text-align: center;"><a href="./materials/class3">In Class</a></td>
<td>Soft Skills Presentation, office hours</td>
</tr>
</tbody>
</table>
                </section>

            </div>
        </main>

        <footer>
            <div class="container-fluid">
{'fraction_non_alphanumeric': 0.14282373119201683, 'fraction_numerical': 0.014032899352927418, 'mean_word_length': 1.5192458758837393, 'pattern_counts': {'":': 0, '<': 345, '<?xml version=': 0, '>': 345, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 76, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '522852', 'n_tokens_mistral': 3730, 'n_tokens_neox': 3399, 'n_words': 852}