<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PAR ECSE-4740-01 Applied Parallel Computing for Engineers, Spring 2018, Rensselaer Polytechnic Institute (Posts about misc)</title><link>https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/</link><description></description><atom:link href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/categories/misc.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2019 &lt;a href="mailto:frankwr@rpi.edu"&gt;W Randolph Franklin, RPI&lt;/a&gt; </copyright><lastBuildDate>Thu, 28 Feb 2019 20:11:24 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>PAR Syllabus</title><link>https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/</link><dc:creator>W Randolph Franklin, RPI</dc:creator><description>&lt;div&gt;&lt;div class="contents topic" id="table-of-contents"&gt;
&lt;p class="topic-title first"&gt;Table of contents&lt;/p&gt;
&lt;ul class="auto-toc simple"&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#catalog-info" id="id1"&gt;1   Catalog info&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#description" id="id2"&gt;2   Description&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#prerequisite" id="id3"&gt;3   Prerequisite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#instructors" id="id4"&gt;4   Instructors&lt;/a&gt;&lt;ul class="auto-toc"&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#professor" id="id5"&gt;4.1   Professor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#course-websites" id="id6"&gt;5   Course websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#reading-material" id="id7"&gt;6   Reading material&lt;/a&gt;&lt;ul class="auto-toc"&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#text" id="id8"&gt;6.1   Text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#web" id="id9"&gt;6.2   Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#computer-systems-used" id="id10"&gt;7   Computer systems used&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#assessment-measures-i-e-grades" id="id11"&gt;8   Assessment measures, i.e., grades&lt;/a&gt;&lt;ul class="auto-toc"&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#term-project" id="id12"&gt;8.1   Term project&lt;/a&gt;&lt;ul class="auto-toc"&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#size-of-term-project" id="id13"&gt;8.1.1   Size of term project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#deliverables" id="id14"&gt;8.1.2   Deliverables&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#early-warning-system-ews" id="id15"&gt;8.2   Early warning system (EWS)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#academic-integrity" id="id16"&gt;9   Academic integrity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#student-feedback" id="id17"&gt;10   Student feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="catalog-info"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id1"&gt;1   Catalog info&lt;/a&gt;&lt;/h2&gt;
&lt;table class="docutils field-list" frame="void" rules="none"&gt;
&lt;col class="field-name"&gt;
&lt;col class="field-body"&gt;
&lt;tbody valign="top"&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Titles:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;ul class="first simple"&gt;
&lt;li&gt;ECSE-4740-01 Applied Parallel Computing for Engineers, CRN 39207&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Semesters:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;Spring term annually&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Credits:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;3 credit hours&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Time and place:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first last"&gt;Wed 3-5, JEC6115&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section" id="description"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id2"&gt;2   Description&lt;/a&gt;&lt;/h2&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;This is intended to be a computer engineering course to provide students with knowledge and hands-on experience in developing applications software for affordable parallel processors.  This course will cover hardware that any lab can afford to purchase.  It will cover the software that, in the prof's opinion, is the most useful.  There will also be some theory.&lt;/li&gt;
&lt;li&gt;The target audiences are ECSE seniors and grads and others with comparable background who wish to develop parallel software.&lt;/li&gt;
&lt;li&gt;This course will have minimal overlap with parallel courses in Computer Science.  We will not teach the IBM BlueGene, because it is so expensive, nor cloud computing and MPI, because most big data problems are in fact small enough to fit on our hardware.&lt;/li&gt;
&lt;li&gt;You may usefully take all the parallel courses at RPI.&lt;/li&gt;
&lt;li&gt;This unique features of this course are as follows:&lt;ol class="arabic"&gt;
&lt;li&gt;Use of only affordable hardware that any lab might purchase,
such as Nvidia GPUs.  This is currently the most widely used
and least expensive parallel platform.&lt;/li&gt;
&lt;li&gt;Emphasis on learning several programming packages, at the expense of
theory.  However you will learn a lot about parallel architecture.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Hardware taught, with reasons:&lt;table class="docutils field-list" frame="void" rules="none"&gt;
&lt;col class="field-name"&gt;
&lt;col class="field-body"&gt;
&lt;tbody valign="top"&gt;
&lt;tr class="field"&gt;&lt;th class="field-name" colspan="2"&gt;Multicore Intel Xeon:&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;td&gt; &lt;/td&gt;&lt;td class="field-body"&gt;universally available and inexpensive, comparatively easy to program, powerful&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Intel Xeon Phi:&lt;/th&gt;&lt;td class="field-body"&gt;affordable, potentially powerful, somewhat harder to program&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name" colspan="2"&gt;Nvidia GPU accelerator:&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;td&gt; &lt;/td&gt;&lt;td class="field-body"&gt;widely available (Nvidia external graphics processors are on 1/3 of all PCs), very inexpensive, powerful, but harder to program.    Good cards cost only a few hundred dollars.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;Software that might be taught, with reasons:&lt;table class="docutils field-list" frame="void" rules="none"&gt;
&lt;col class="field-name"&gt;
&lt;col class="field-body"&gt;
&lt;tbody valign="top"&gt;
&lt;tr class="field"&gt;&lt;th class="field-name" colspan="2"&gt;OpenMP C++ extension:&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;td&gt; &lt;/td&gt;&lt;td class="field-body"&gt;widely used, easy to use if your algorithm is parallelizable, backend is multicore Xeon.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name" colspan="2"&gt;Thrust C++ functional programming library:&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;td&gt; &lt;/td&gt;&lt;td class="field-body"&gt;FP is nice, hides low level details, backend can be any major parallel platform.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;MATLAB:&lt;/th&gt;&lt;td class="field-body"&gt;easy to use parallelism for operations that Mathworks has implemented in parallel, etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Mathematica:&lt;/th&gt;&lt;td class="field-body"&gt;interesting powerful front end:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name" colspan="2"&gt;CUDA C++ extension and library for Nvidia:&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;td&gt; &lt;/td&gt;&lt;td class="field-body"&gt;low level access to Nvidia GPUs.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;The techniques learned here will also be applicable to larger parallel machines -- number 3 on the &lt;a class="reference external" href="https://www.top500.org/lists/2016/11/"&gt;top 500 list&lt;/a&gt; uses NVIDIA GPUs, while number 2 uses Intel Xeon Phis.  (Number 4 is a BlueGene.)&lt;/li&gt;
&lt;li&gt;Effectively programming these processors will require in-depth knowledge about parallel programming principles, as well as the parallelism models, communication models, and resource limitations of these processors.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class="section" id="prerequisite"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id3"&gt;3   Prerequisite&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ECSE-2660 CANOS or equivalent, knowledge of C++.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="instructors"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id4"&gt;4   Instructors&lt;/a&gt;&lt;/h2&gt;
&lt;div class="section" id="professor"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id5"&gt;4.1   Professor&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;W. Randolph Franklin. BSc (Toronto), AM, PhD (Harvard)&lt;/strong&gt;&lt;/p&gt;
&lt;table class="docutils field-list" frame="void" rules="none"&gt;
&lt;col class="field-name"&gt;
&lt;col class="field-body"&gt;
&lt;tbody valign="top"&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Office:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;Jonsson Engineering Center (JEC) 6026&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Phone:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;+1 (518) 276-6077 (forwards)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Email:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;&lt;a class="reference external" href="mailto:frankwr@rpi.edu"&gt;frankwr@rpi.edu&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Email is my preferred communication medium.&lt;/p&gt;
&lt;p&gt;Sending from a non-RPI account is fine (and is what I often do).  However, please use an account that shows your name, at least in the comment field.  A subject prefix of PAR is helpful.  GPG encryption is welcomed.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Web:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;&lt;a class="reference external" href="https://wrf.ecse.rpi.edu/"&gt;https://wrf.ecse.rpi.edu/&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name"&gt;Office hours:&lt;/th&gt;&lt;td class="field-body"&gt;&lt;p class="first"&gt;After each class, usually as long as anyone wants to talk.  Also by appointment.  That means that if you write me, we can probably meet in the next day or two.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;th class="field-name" colspan="2"&gt;Informal meetings:&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="field"&gt;&lt;td&gt; &lt;/td&gt;&lt;td class="field-body"&gt;&lt;p class="first last"&gt;If you would like to lunch with me, either individually or in a group, just mention it.  We can then talk about most anything legal and ethical.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="course-websites"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id6"&gt;5   Course websites&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a class="reference external" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018"&gt;homepage&lt;/a&gt;
has lecture summaries, syllabus, homeworks, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="reading-material"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id7"&gt;6   Reading material&lt;/a&gt;&lt;/h2&gt;
&lt;div class="section" id="text"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id8"&gt;6.1   Text&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;There is no required text, but the following inexpensive books may be used.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;strong&gt;Sanders and Kandrot&lt;/strong&gt;, CUDA by example.  It gets excellent reviews,
although it is several years old.  Amazon has many options, including
Kindle and renting hardcopies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kirk and Hwu&lt;/strong&gt;, 2nd edition, Programming massively parallel
processors.  It concentrates on CUDA.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;One problem is that even recent books may be obsolete.   For instance they may ignore the recent CUDA unified memory model, which simplifies CUDA programming at a performance cost.   Even if the current edition of a book was published after unified memory was released, the author might not have updated the examples.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="web"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id9"&gt;6.2   Web&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;There is a lot of free material on the web, which I'll reference, and may cache locally.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="computer-systems-used"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id10"&gt;7   Computer systems used&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This course will use (remotely via ssh) geoxeon.ecse.rpi.edu and parallel.ecse.rpi.edu.&lt;/p&gt;
&lt;p&gt;Parallel has:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;a dual 14-core Intel Xeon E5-2660 2.0GHz&lt;/li&gt;
&lt;li&gt;256GB of DDR4-2133 ECC Reg memory&lt;/li&gt;
&lt;li&gt;Nvidia GPU, perhaps GeForce GTX 1080 processor with 8GB&lt;/li&gt;
&lt;li&gt;Intel Xeon Phi 7120A&lt;/li&gt;
&lt;li&gt;Samsung Pro 850 1TB SSD&lt;/li&gt;
&lt;li&gt;WD Red 6TB 6GB/s hard drive&lt;/li&gt;
&lt;li&gt;CUDA&lt;/li&gt;
&lt;li&gt;OpenMP 4.0&lt;/li&gt;
&lt;li&gt;Thrust&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Parallel is less available because I sometimes boot it into Windows to run the Vive.&lt;/p&gt;
&lt;p&gt;Geoxeon has:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Dual 8-core Intel Xeon.&lt;/li&gt;
&lt;li&gt;128GB DRAM.&lt;/li&gt;
&lt;li&gt;Nvidia GPUs:
#. GM200 GeForce GTX Titan X
#. GK100GL Tesla K20Xm&lt;/li&gt;
&lt;li&gt;Ubuntu 17.04&lt;/li&gt;
&lt;li&gt;CUDA, Thrust, OpenMP, etc.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Geoxeon should be always available.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="assessment-measures-i-e-grades"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id11"&gt;8   Assessment measures, i.e., grades&lt;/a&gt;&lt;/h2&gt;
&lt;ol class="arabic"&gt;
&lt;li&gt;&lt;p class="first"&gt;There will be no exams.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class="first"&gt;The grade will be based on  a term project and class
presentations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class="first"&gt;Deliverables for the term project:&lt;/p&gt;
&lt;ol class="loweralpha simple"&gt;
&lt;li&gt;A 2-minute project proposal given to the class around the middle of the
semester.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="loweralpha simple"&gt;
&lt;li&gt;A 5-minute project presentation given to the class in the last week.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="loweralpha simple"&gt;
&lt;li&gt;Some progress reports.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="loweralpha simple"&gt;
&lt;li&gt;A write-up uploaded on the last class day.  This will contain an
academic paper, code and perhaps video or user manual.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="section" id="term-project"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id12"&gt;8.1   Term project&lt;/a&gt;&lt;/h3&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;For the latter part of the course, most of your homework time
will be spent on a term project.&lt;/li&gt;
&lt;li&gt;You are encouraged do it in teams of up to 3 people.  A team of 3 people
would be expected to do twice as much work as 1 person.&lt;/li&gt;
&lt;li&gt;You may combine this with work for another course, provided
that both courses know about this and agree.   I always
agree.&lt;/li&gt;
&lt;li&gt;If you are a grad student, you may combine this with your
research, if your prof agrees, and you tell me.&lt;/li&gt;
&lt;li&gt;You may build on existing work, either your own or others'.
You have to say what's new, and have the right to use the
other work.  E.g., using any GPLed code or any code on my
website is automatically allowable (because of my Creative Commons licence).&lt;/li&gt;
&lt;li&gt;You will implement, demonstrate, and document something
vaguely related to parallel computing.&lt;/li&gt;
&lt;li&gt;You will give a 5 minute &lt;em&gt;fast forward&lt;/em&gt; Powerpoint talk in
class.   A fast forward talk is a timed Powerpoint presentation, where
the slides advance automatically.&lt;/li&gt;
&lt;li&gt;You may demo it to the TA if you wish.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="section" id="size-of-term-project"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id13"&gt;8.1.1   Size of term project&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;It's impossible to specify how many lines of
code makes a good term project.  E.g., I take pride in writing code that
is can be simultaneously shorter, more robust, and faster than some
others.  See my 8-line program for testing whether a point is in a polygon:
&lt;a class="reference external" href="http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html"&gt;Pnpoly&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;According to &lt;em&gt;Big Blues&lt;/em&gt;, when Bill Gates was collaborating with
around 1980, he once rewrote a code fragment to be shorter.  However,
according to the IBM metric, number of lines of code produced, he had
just caused that unit to officially do negative work.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="deliverables"&gt;
&lt;h4&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id14"&gt;8.1.2   Deliverables&lt;/a&gt;&lt;/h4&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;An implementation showing parallel computing.&lt;/li&gt;
&lt;li&gt;An extended abstract or paper on your project, written up like
a paper.  You should follow the style guide for some major
conference (I don't care which, but can point you to one).&lt;/li&gt;
&lt;li&gt;A more detailed manual, showing how to use it.&lt;/li&gt;
&lt;li&gt;A talk in class.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A 10-minute demonstration to the TA is optional.  If you do, she will give me a modifier of up to 10 points either way.  I.e., a good demo will help, a bad one hurt.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="early-warning-system-ews"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id15"&gt;8.2   Early warning system (EWS)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As required by the Provost, we may post notes about you to EWS, for example, if you're having trouble doing homeworks on time, or miss an exam.  E.g., if you tell me that you had to miss a class because of family problems, then I may forward that information to the Dean of Students office.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="academic-integrity"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id16"&gt;9   Academic integrity&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;See the Student Handbook for the general policy.  The summary is that students and faculty have to trust each other.  After you graduate, your most important possession will be your reputation.&lt;/p&gt;
&lt;p&gt;Specifics for this course are as follows.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;You may collaborate on homeworks, but each team of 1 or 2 people must write up the solution separately (one writeup per team) using their own words. We willingly give hints to anyone who asks.&lt;/li&gt;
&lt;li&gt;The penalty for two teams handing in identical work is a zero for both.&lt;/li&gt;
&lt;li&gt;You may collaborate in teams of up to 3 people for the term project.&lt;/li&gt;
&lt;li&gt;You may get help from anyone for the term project. You may build on a previous project, either your own or someone else's. However you must describe and acknowledge any other work you use, and have the other person's permission, which may be implicit. E.g., my web site gives a blanket permission to use it for nonprofit research or teaching. You must add something creative to the previous work.  You must write up the project on your own.&lt;/li&gt;
&lt;li&gt;However, writing assistance from the Writing Center and similar sources in allowed, if you acknowledge it.&lt;/li&gt;
&lt;li&gt;The penalty for plagiarism is a zero grade.&lt;/li&gt;
&lt;li&gt;Cheating will be reported to the Dean of Students Office.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class="section" id="student-feedback"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/#id17"&gt;10   Student feedback&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Since it's my desire to give you the best possible course in a topic I enjoy teaching, I welcome feedback during (and after) the semester.  You may tell me or write me or the TA, or contact a third party, such as Prof Gary Saulnier, the ECSE undergrad head, or Prof Mike Wozny, the ECSE Dept head.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>mathjax</category><category>misc</category><guid>https://wrf.ecse.rpi.edu/Teaching/parallel-s2018/posts/syllabus/</guid><pubDate>Tue, 16 Jan 2018 05:00:00 GMT</pubDate></item></channel></rss>