← All templates

Course syllabus with FAQ and teaching assistants (modular_syllabus, community)

A one-class syllabus where every part is a command: course and instructor details, a list of teaching assistants, the course description, a weekly schedule, grading, policies and a frequently-asked-questions block.

Create an account to use this
Category
Syllabus
Document class
modular_syllabus (modular_syllabus.cls) — ships with TeX Live
Workflow
Lecture notes — no revision rounds
Author
Jean-François Baffier, Zane Wolf, Carmine Spagnuolo (latex-modular-syllabus)
Source
Jean-François Baffier, Zane Wolf, Carmine Spagnuolo (latex-modular-syllabus)
Licence
No licence is stated in the files. Jean-François Baffier, Zane Wolf, Carmine Spagnuolo (latex-modular-syllabus) distributes them for authors preparing a submission.

These are the publisher’s own files. This project starts from Jean-François Baffier, Zane Wolf, Carmine Spagnuolo (latex-modular-syllabus)’s package for this publication — their manuscript, their modular_syllabus.cls, their bibliography style — so what compiles here is what they would have given you.

Check Jean-François Baffier, Zane Wolf, Carmine Spagnuolo (latex-modular-syllabus)’s author pages for the current instructions.

Where this differs from the publisher’s download.

  • Note: A community template, not issued by any university: replace the placeholder course, instructor and policy text with your own and your institution's.

What you get

  • LICENSE · 1 KB
  • modular_syllabus.cls · 19 KB
  • modular_template.tex — the file that is compiled · 20 KB

These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.

Source

LICENSE — binary, 1 KB

modular_syllabus.cls · 19 KB
\ProvidesClass{modular_syllabus}[2025/07/03 modular syllabus class]
\LoadClass{article}
\NeedsTeXFormat{LaTeX2e}

%----------------------------------------------------------------------------------------
%   REQUIRED PACKAGES
%----------------------------------------------------------------------------------------

\RequirePackage[sfdefault]{ClearSans}
\RequirePackage[T1]{fontenc}
\RequirePackage{tikz}
\RequirePackage{xcolor}
\RequirePackage[absolute,overlay]{textpos}
\RequirePackage{ragged2e}
\RequirePackage{etoolbox}
\RequirePackage{ifmtarg}
\RequirePackage{ifthen}
\RequirePackage{pgffor}
\RequirePackage{marvosym}
\RequirePackage{parskip}
\RequirePackage{fontawesome}
\RequirePackage{wasysym}
\RequirePackage{ifsym}
\RequirePackage{xparse}
\RequirePackage{booktabs, colortbl, xcolor}
\RequirePackage{tabularx}
\RequirePackage{enumitem}
\RequirePackage{ltablex}
\RequirePackage{multirow}
\RequirePackage{lscape}
\RequirePackage{hyperref}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax

%----------------------------------------------------------------------------------------
%   MISC CONFIGURATIONS
%----------------------------------------------------------------------------------------

\setlist{nolistsep}

\newcolumntype{r}{>{\hsize=0.9\hsize}X}
\newcolumntype{w}{>{\hsize=0.6\hsize}X}
\newcolumntype{m}{>{\hsize=.9\hsize}X}

\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\arraystretch}{2.0}
\renewcommand{\bfseries}{\color{gray}} % Make \textbf produce coloured text instead

\pagestyle{empty} % Disable headers and footers

\setlength{\parindent}{0pt} % Disable paragraph indentation

%----------------------------------------------------------------------------------------
%   COLOURS
%----------------------------------------------------------------------------------------

\definecolor{white}{RGB}{255,255,255}
\definecolor{gray}{HTML}{4D4D4D}
\definecolor{sidecolor}{HTML}{E7E7E7}
\definecolor{mainblue}{HTML}{0E5484}
\definecolor{maingray}{HTML}{B9B9B9}
\definecolor{green}{HTML}{66FF66}

% Default main color - can be overridden in .tex file
\definecolor{myCOLOR}{HTML}{046D0B}

% Command to set main color from .tex file
\newcommand{\setMainColor}[1]{
  \definecolor{myCOLOR}{HTML}{#1}
}

%----------------------------------------------------------------------------------------
%   SIDEBAR DEFINITIONS
%----------------------------------------------------------------------------------------

% Default sidebar width - can be overridden in .tex file
\newlength{\sidebarWidth}
\setlength{\sidebarWidth}{9cm}

\newcommand{\setSidebarWidth}[1]{
  \setlength{\sidebarWidth}{#1}
}

\setlength{\TPHorizModule}{1cm} % Left margin
\setlength{\TPVertModule}{1cm} % Top margin

\newlength\imagewidth
\newlength\imagescale
\pgfmathsetlength{\imagewidth}{5cm}
\pgfmathsetlength{\imagescale}{\imagewidth/600}

% Command to set profile image size
\newcommand{\setProfileImageSize}[1]{
  \pgfmathsetlength{\imagewidth}{#1}
  \pgfmathsetlength{\imagescale}{\imagewidth/600}
}

\newlength{\TotalSectionLength} % Define a new length to hold the remaining line width after the section title is printed
\newlength{\SectionTitleLength} % Define a new length to hold the width of the section title
\newcommand{\profilesection}[1]{%
  \setlength\TotalSectionLength{\linewidth}% Set the total line width
  \settowidth{\SectionTitleLength}{\huge #1 }% Calculate the width of the section title
  \addtolength\TotalSectionLength{-\SectionTitleLength}% Subtract the section title width from the total width
  \addtolength\TotalSectionLength{-2.22221pt}% Modifier to remove overfull box warning
  \vspace{8pt}% Whitespace before the section title
  {\color{black!80} \huge #1 \rule[0.15\baselineskip]{\TotalSectionLength}{1pt}}% Print the title and auto-width rule
}

%----------------------------------------------------------------------------------------
%   Syllabus Header Info
%----------------------------------------------------------------------------------------
\newcommand{\classname}[1]{\renewcommand{\classname}{#1}}
\newcommand{\classnum}[1]{\renewcommand{\classnum}{#1}}

%----------------------------------------------------------------------------------------
%   Instructor Info
%----------------------------------------------------------------------------------------
\newcommand{\profname}[1]{\renewcommand{\profname}{#1}}
\newcommand{\officehours}[1]{\renewcommand{\officehours}{#1}}
\newcommand{\office}[1]{\renewcommand{\office}{#1}}
\newcommand{\site}[1]{\renewcommand{\site}{#1}}
\newcommand{\email}[1]{\renewcommand{\email}{#1}}

%----------------------------------------------------------------------------------------
%   Class Info
%----------------------------------------------------------------------------------------
\newcommand{\prereq}[1]{\renewcommand{\prereq}{#1}}
\newcommand{\classdays}[1]{\renewcommand{\classdays}{#1}}
\newcommand{\classhours}[1]{\renewcommand{\classhours}{#1}}
\newcommand{\classloc}[1]{\renewcommand{\classloc}{#1}}
\newcommand{\classinfo}[1]{\renewcommand{\classinfo}{#1}}

%----------------------------------------------------------------------------------------
%   Lab Info
%----------------------------------------------------------------------------------------
\newcommand{\labdays}[1]{\renewcommand{\labdays}{#1}}
\newcommand{\labhours}[1]{\renewcommand{\labhours}{#1}}
\newcommand{\labloc}[1]{\renewcommand{\labloc}{#1}}

%----------------------------------------------------------------------------------------
%   TA Info - Flexible system
%----------------------------------------------------------------------------------------
% Initialize empty TA list
\def\talist{}

% Command to add a TA to the list
\newcommand{\addTA}[4]{%
  \g@addto@macro\talist{%
    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \textsc{\large\icon{\faUser}} & #1\\
      \ifthenelse{\equal{#2}{}}{}{\textsc{\large\iconhalf{\ClockLogo}} & #2\\}
      \ifthenelse{\equal{#3}{}}{}{\textsc{\large\iconhalf{\faMapMarker}} & #3\\}
      \ifthenelse{\equal{#4}{}}{}{\textsc{\large\icon{@}} & \href{mailto:#4}{#4}\\}
    \end{tabular}
    \vspace{0.3cm}
  }
}

% For backward compatibility
\newcommand{\taAname}[1]{\renewcommand{\taAname}{#1}}
\newcommand{\taAofficehours}[1]{\renewcommand{\taAofficehours}{#1}}
\newcommand{\taAoffice}[1]{\renewcommand{\taAoffice}{#1}}
\newcommand{\taAemail}[1]{\renewcommand{\taAemail}{#1}}
\newcommand{\taBname}[1]{\renewcommand{\taBname}{#1}}
\newcommand{\taBofficehours}[1]{\renewcommand{\taBofficehours}{#1}}
\newcommand{\taBoffice}[1]{\renewcommand{\taBoffice}{#1}}
\newcommand{\taBemail}[1]{\renewcommand{\taBemail}{#1}}

%----------------------------------------------------------------------------------------
%   Misc. Info
%----------------------------------------------------------------------------------------
\newcommand{\profilepic}[1]{\renewcommand{\profilepic}{#1}}
\newcommand{\about}[1]{\renewcommand{\about}{#1}}

%----------------------------------------------------------------------------------------
%   FAQs - Flexible system
%----------------------------------------------------------------------------------------
% Initialize empty FAQ list
\def\faqlist{}

% Command to add an FAQ to the list
\newcommand{\addFAQ}[2]{%
  \g@addto@macro\faqlist{%
    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \textsc{\Large\icon{\faQuestion}} & \Large #1\\
      \textsc{\Large\icon{\faExclamation}} & #2\\
    \end{tabular}
    \vspace{0.3cm}
  }
}

% For backward compatibility
\newcommand{\qOne}[1]{\renewcommand{\qOne}{#1}}
\newcommand{\aOne}[1]{\renewcommand{\aOne}{#1}}
\newcommand{\qTwo}[1]{\renewcommand{\qTwo}{#1}}
\newcommand{\aTwo}[1]{\renewcommand{\aTwo}{#1}}
\newcommand{\qThree}[1]{\renewcommand{\qThree}{#1}}
\newcommand{\aThree}[1]{\renewcommand{\aThree}{#1}}
\newcommand{\qFour}[1]{\renewcommand{\qFour}{#1}}
\newcommand{\aFour}[1]{\renewcommand{\aFour}{#1}}

%----------------------------------------------------------------------------------------
%   Custom Sidebar Sections
%----------------------------------------------------------------------------------------
% Initialize empty custom sections list
\def\customsectionslist{}

% Command to add a custom section to the sidebar
\newcommand{\addSidebarSection}[2]{%
  \g@addto@macro\customsectionslist{%
    \profilesection{\vspace{0.5cm} #1}
    \vspace{0.1cm} % Add space between title and content
    \newline
    #2
    \vspace{0.3cm}
  }
}

%----------------------------------------------------------------------------------------
%   Section Visibility Controls
%----------------------------------------------------------------------------------------
% Default all sections to visible
\newif\ifinstructorsection
\instructorsectiontrue
\newif\ifcoursesection
\coursesectiontrue
\newif\iflabsection
\labsectiontrue
\newif\iftasection
\tasectiontrue
\newif\ifaboutsection
\aboutsectionfalse
\newif\iffaqsection
\faqsectiontrue

% Commands to toggle section visibility
\newcommand{\showInstructorSection}{\instructorsectiontrue}
\newcommand{\hideInstructorSection}{\instructorsectionfalse}
\newcommand{\showCourseSection}{\coursesectiontrue}
\newcommand{\hideCourseSection}{\coursesectionfalse}
\newcommand{\showLabSection}{\labsectiontrue}
\newcommand{\hideLabSection}{\labsectionfalse}
\newcommand{\showTASection}{\tasectiontrue}
\newcommand{\hideTASection}{\tasectionfalse}
\newcommand{\showAboutSection}{\aboutsectiontrue}
\newcommand{\hideAboutSection}{\aboutsectionfalse}
\newcommand{\showFAQSection}{\faqsectiontrue}
\newcommand{\hideFAQSection}{\faqsectionfalse}

%----------------------------------------------------------------------------------------
%   Icon Customization
%----------------------------------------------------------------------------------------
% Command for printing the contact information icons
\newcommand*\icon[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=1pt, fill=myCOLOR,myCOLOR,text=white] (char) {#1};}}
\newcommand*\icontwo[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=2pt, fill=myCOLOR,myCOLOR,text=white] (char) {#1};}}
\newcommand*\iconhalf[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=1.5pt, fill=myCOLOR,myCOLOR,text=white] (char) {#1};}}

% Command to customize icon style
\newcommand{\setIconStyle}[1]{%
  \ifstrequal{#1}{circle}{%
    \renewcommand*\icon[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=1pt, fill=myCOLOR,myCOLOR,text=white] (char) {##1};}}
    \renewcommand*\icontwo[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=2pt, fill=myCOLOR,myCOLOR,text=white] (char) {##1};}}
    \renewcommand*\iconhalf[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=1.5pt, fill=myCOLOR,myCOLOR,text=white] (char) {##1};}}
  }{}%
  \ifstrequal{#1}{square}{%
    \renewcommand*\icon[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle,draw,inner sep=1pt, fill=myCOLOR,myCOLOR,text=white] (char) {##1};}}
    \renewcommand*\icontwo[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle,draw,inner sep=2pt, fill=myCOLOR,myCOLOR,text=white] (char) {##1};}}
    \renewcommand*\iconhalf[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle,draw,inner sep=1.5pt, fill=myCOLOR,myCOLOR,text=white] (char) {##1};}}
  }{}%
  \ifstrequal{#1}{none}{%
    \renewcommand*\icon[1]{{\color{myCOLOR}##1}}
    \renewcommand*\icontwo[1]{{\color{myCOLOR}##1}}
    \renewcommand*\iconhalf[1]{{\color{myCOLOR}##1}}
  }{}%
}

%----------------------------------------------------------------------------------------
%   SIDEBAR LAYOUT
%----------------------------------------------------------------------------------------

\newcommand{\makeprofile}{
  \begin{tikzpicture}[remember picture,overlay]
    \node [rectangle, fill=sidecolor, anchor=north, minimum width=\sidebarWidth, minimum height=\paperheight+1cm] (box) at (-5cm,0.3cm){};
  \end{tikzpicture}

  %------------------------------------------------

  \begin{textblock}{6}(0.5, 0.2)

    %------------------------------------------------

    \ifthenelse{\equal{\profilepic}{}}{}{
      \begin{center}
        \begin{tikzpicture}[x=\imagescale,y=-\imagescale]
          \clip (600/2, 567/2) circle (567/2);
          \node[anchor=north west, inner sep=0pt, outer sep=0pt] at (0,0) {\includegraphics[width=\imagewidth]{\profilepic}};
        \end{tikzpicture}
      \end{center}
    }

    %------------------------------------------------

    {\Huge\color{myCOLOR}\classname}

    %------------------------------------------------

    {\Large\color{myCOLOR}\classnum}

    %------------------------------------------------

    \renewcommand{\arraystretch}{1.6}

    %------------------------------------------------

    \ifinstructorsection
    \profilesection{\vspace{0.7cm} Instructor Info}

    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \ifthenelse{\equal{\profname}{}}{}{\textsc{\large\icon{\faUser}} & \profname \\}
      \ifthenelse{\equal{\officehours}{}}{}{\textsc{\large\iconhalf{\ClockLogo}} & \officehours\\}
      \ifthenelse{\equal{\office}{}}{}{\textsc{\large\iconhalf{\faMapMarker}} & \office\\}
      \ifthenelse{\equal{\site}{}}{}{\textsc{\Large\iconhalf{\faInfo}} & \site\\}
      \ifthenelse{\equal{\email}{}}{}{\textsc{\large\icon{@}} & \href{mailto:\email}{\email}}
    \end{tabular}
    \fi

    \ifcoursesection
    \profilesection{\vspace{0.5cm} Course Info}

    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \ifthenelse{\equal{\prereq}{}}{}{\textsc{\large\iconhalf{\faBolt}} & \prereq\\}
      \ifthenelse{\equal{\classdays}{}}{}{\textsc{\iconhalf{\faCalendarO}} & \classdays\\}
      \ifthenelse{\equal{\classhours}{}}{}{\textsc{\large\iconhalf{\ClockLogo}} & \classhours\\}
      \ifthenelse{\equal{\classloc}{}}{}{\textsc{\large\iconhalf{\faMapMarker}} & \classloc\\}
    \end{tabular}
    \fi

    \iflabsection
    \profilesection{\vspace{0.5cm} Lab Info}

    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \ifthenelse{\equal{\labdays}{}}{}{\textsc{\iconhalf{\faCalendarO}} & \labdays\\}
      \ifthenelse{\equal{\labhours}{}}{}{\textsc{\large\iconhalf{\ClockLogo}} & \labhours\\}
      \ifthenelse{\equal{\labloc}{}}{}{\textsc{\large\iconhalf{\faMapMarker}} & \labloc\\}
    \end{tabular}
    \fi

    \iftasection
    \profilesection{\vspace{0.5cm} TA Info}

    % Check if we're using the new flexible TA system
    \ifx\talist\empty
    % Use the old system for backward compatibility
    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \ifthenelse{\equal{\taAname}{}}{}{\textsc{\large\icon{\faUser}} & \taAname\\}
      \ifthenelse{\equal{\taAofficehours}{}}{}{\textsc{\large\iconhalf{\ClockLogo}} & \taAofficehours\\}
      \ifthenelse{\equal{\taAoffice}{}}{}{\textsc{\large\iconhalf{\faMapMarker}} & \taAoffice\\}
      \ifthenelse{\equal{\taAemail}{}}{}{\textsc{\large\icon{@}} & \href{mailto:\taAemail}{\taAemail}\\}
      \ifthenelse{\equal{\taBname}{}}{}{\textsc{\large\icon{\faUser}} & \taBname\\}
      \ifthenelse{\equal{\taBofficehours}{}}{}{\textsc{\large\iconhalf{\ClockLogo}} & \taBofficehours\\}
      \ifthenelse{\equal{\taBoffice}{}}{}{\textsc{\large\iconhalf{\faMapMarker}} & \taBoffice\\}
      \ifthenelse{\equal{\taBemail}{}}{}{\textsc{\large\icon{@}} & \href{mailto:\taBemail}{\taBemail}\\}
    \end{tabular}
    \else
    % Use the new flexible system
    \talist
    \fi
    \fi

    \ifaboutsection
    \profilesection{\vspace{0.5cm} About}
    \begin{flushleft}
      \about
    \end{flushleft}
    \fi

    % Add any custom sections
    \customsectionslist

  \end{textblock}
}

\newcommand{\makeSide}{
  \begin{tikzpicture}[remember picture,overlay]
    \node [rectangle, fill=sidecolor, anchor=north, minimum width=\sidebarWidth, minimum height=\paperheight+1cm] (box) at (-5cm,0.5cm){};
  \end{tikzpicture}

  %------------------------------------------------

  \begin{textblock}{6}(0.5, 0.2)

    {\Huge\color{myCOLOR} FAQs}
    \renewcommand{\arraystretch}{2.5}

    % Check if we're using the new flexible FAQ system
    \ifx\faqlist\empty
    % Use the old system for backward compatibility
    \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
      \ifthenelse{\equal{\qOne}{}}{}{\textsc{\Large\icon{\faQuestion}} & \Large\qOne\\}
      \ifthenelse{\equal{\aOne}{}}{}{\textsc{\Large\icon{\faExclamation}} & \aOne\\}
      \ifthenelse{\equal{\qTwo}{}}{}{\textsc{\Large\icon{\faQuestion}} & \Large\qTwo\\}
      \ifthenelse{\equal{\aTwo}{}}{}{\textsc{\Large\icon{\faExclamation}} & \aTwo\\}
      \ifthenelse{\equal{\qThree}{}}{}{\textsc{\Large\icon{\faQuestion}} & \Large\qThree\\}
      \ifthenelse{\equal{\aThree}{}}{}{\textsc{\Large\icon{\faExclamation}} & \aThree\\}
      \ifthenelse{\equal{\qFour}{}}{}{\textsc{\Large\icon{\faQuestion}} & \Large\qFour\\}
      \ifthenelse{\equal{\aFour}{}}{}{\textsc{\Large\icon{\faExclamation}} & \aFour\\}
    \end{tabular}
    \else
    % Use the new flexible system
    \faqlist
    \fi
  \end{textblock}
}

\newcommand{\makeFullPage}{
  \newgeometry{margin=1cm}
}

%----------------------------------------------------------------------------------------
%   COLOURED SECTION TITLE BOX
%----------------------------------------------------------------------------------------

% Command to create the rounded boxes around the first three letters of section titles
\newcommand*\round[2]{%
  \tikz[baseline=(char.base)]\node[anchor=north west, draw,rectangle, rounded corners, inner sep=1.6pt, minimum size=5.5mm, text height=3.6mm, fill=#2,#2,text=white](char){#1};%
}

\newcounter{colorCounter}
\newcommand{\sectioncolor}[1]{%
  {%
    \round{#1}{
      \ifcase\value{colorCounter}%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\or%
      myCOLOR\fi%
    }%
  }%
  \stepcounter{colorCounter}%
}

\renewcommand{\section}[1]{
  {%
    \color{gray}%
    \Large\sectioncolor{#1}%
  }
}

\renewcommand{\subsection}[1]{
  \par\vspace{.5\parskip}{%
    \large\color{gray} #1%
  }
  \par\vspace{.25\parskip}%
}

%----------------------------------------------------------------------------------------
%   LONG LIST ENVIRONMENT
%----------------------------------------------------------------------------------------

\setlength{\tabcolsep}{0pt}

% New environment for the long list
\newenvironment{twenty}{%
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
  }{%
  \end{tabular*}
}

\newcommand{\twentyitem}[4]{%
  #1&\parbox[t]{0.83\textwidth}{%
    \textbf{#2}%
    \hfill%
    {\footnotesize#3}\\%
    #4\vspace{\parsep}%
  }\\
}

%----------------------------------------------------------------------------------------
%   SMALL LIST ENVIRONMENT
%----------------------------------------------------------------------------------------

\setlength{\tabcolsep}{0pt}

% New environment for the small list
\newenvironment{twentyshort}{%
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
  }{%
  \end{tabular*}
}

\newcommand{\twentyitemshort}[2]{%
  #1&\parbox[t]{0.83\textwidth}{%
    \textbf{#2}%
  }\\
}

%----------------------------------------------------------------------------------------
%   MARGINS AND LINKS
%----------------------------------------------------------------------------------------

\RequirePackage[left=7.6cm,top=0.1cm,right=1cm,bottom=0.2cm,nohead,nofoot]{geometry}
modular_template.tex — the file that is compiled · 20 KB
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Modular Syllabus Template
% LaTeX Template
% Version 1.0 (29/03/2025)
%
% Based on the Inzane Syllabus Template by:
% Carmine Spagnuolo ([email protected]) with major modifications by
% Zane Wolf ([email protected]).
%
% Further modifications for modularity by:
% Jean-François Baffier ([email protected])[Azzaare@GitHub].
%
% This modular version allows for customization directly from the .tex file
% without needing to modify the class file.
%
% License:
% The MIT License (see included LICENSE file)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%----------------------------------------------------------------------------------------
%  PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------

\documentclass[a4paper]{modular_syllabus} % a4paper for A4

%----------------------------------------------------------------------------------------
%   CUSTOMIZATION OPTIONS
%----------------------------------------------------------------------------------------

% Set the main color (HTML color code without #)
\setMainColor{046D0B} % Green - you can change this to any color you want

% Set the sidebar width (default is 9cm)
\setSidebarWidth{9cm}

% Set the profile image size (default is 5cm)
\setProfileImageSize{5cm}

% Set the icon style (options: circle, square, none)
\setIconStyle{circle}

% Show/hide sections (default: all shown except About)
\showInstructorSection
\showCourseSection
\hideLabSection
\hideTASection
% \showAboutSection % Uncomment to show the About section
% \hideFAQSection % Uncomment to hide the FAQ section

%----------------------------------------------------------------------------------------
%   PERSONAL INFORMATION
%----------------------------------------------------------------------------------------

\profilepic{example-image} % Profile picture

%----------------------------------------------------------------------------------------
%   COURSE INFORMATION
%----------------------------------------------------------------------------------------

\classname{Fishes}
\classnum{OEB 177}

%----------------------------------------------------------------------------------------
%   INSTRUCTOR INFORMATION
%----------------------------------------------------------------------------------------

\profname{Zane Wolf}
\officehours{Office Hrs: Mon \& Wed 1-2p}
\office{MCZ Labs 105}
\site{http://inzaneresearch.com}
\email{[email protected]}

%----------------------------------------------------------------------------------------
%   COURSE DETAILS
%----------------------------------------------------------------------------------------

\prereq{Prereq: None}
\classdays{Tues \& Thurs}
\classhours{11a-12.30p}
\classloc{Lecture Room}

%----------------------------------------------------------------------------------------
%   LAB INFORMATION
%----------------------------------------------------------------------------------------

\labdays{Wed \& Fri}
\labhours{2-5p}
\labloc{Lab Space}

%----------------------------------------------------------------------------------------
%   TA INFORMATION
%----------------------------------------------------------------------------------------

% Option 1: Use the new flexible TA system (recommended)
\addTA{Alice}{Office Hrs: Tues \& Thurs 10-11a}{MCZ 104}{[email protected]}
\addTA{James}{Office Hrs: Tues \& Thurs 3-4p}{MCZ 104}{[email protected]}
\addTA{Bob}{Office Hrs: Wed 1-2p}{MCZ 106}{[email protected]} % You can add as many TAs as needed

% Option 2: Use the legacy system (for backward compatibility)
% \taAname{Alice}
% \taAofficehours{Office Hrs: Tues \& Thurs 10-11a}
% \taAoffice{MCZ 104}
% \taAemail{[email protected]}
% \taBname{James}
% \taBofficehours{Office Hrs: Tues \& Thurs 3-4p}
% \taBoffice{MCZ 104}
% \taBemail{[email protected]}

%----------------------------------------------------------------------------------------
%   ABOUT SECTION (Optional)
%----------------------------------------------------------------------------------------

\about{Fish make up the largest group of vertebrates on the planet, easily outnumbering mammals, marsupials, birds, and reptiles combined. Not only are they abundant, but they've diversified into an extraordinary array of sizes, shapes, lifestyles, and habitats. You can find them in the coldest, deepest parts of the ocean, and in the hottest freshwater ponds in the desert. This course will explore fish diversity and their biology.}

%----------------------------------------------------------------------------------------
%   CUSTOM SIDEBAR SECTION (Optional)
%----------------------------------------------------------------------------------------

\addSidebarSection{Important Dates}{
  \begin{tabular}{p{0.5cm} @{\hskip 0.5cm}p{5cm}}
    \textsc{\large\iconhalf{\faCalendarO}} & Midterm 1: Oct 15\\
    \textsc{\large\iconhalf{\faCalendarO}} & Midterm 2: Nov 20\\
    \textsc{\large\iconhalf{\faCalendarO}} & Final Exam: Dec 15\\
  \end{tabular}
}

%----------------------------------------------------------------------------------------
%   FAQs
%----------------------------------------------------------------------------------------

% Option 1: Use the new flexible FAQ system (recommended)
\addFAQ{Do we dissect real fish in this course?}{Yes, we do actually dissect fish. If you know of any issues that may cause you difficulties during dissections, please notify your TA ASAP.}

\addFAQ{What is a fish?}{No clue. When someone says `fish', we have a picture of a general fish of a general shape in our minds, but the truth is that `fish' doesn't have scientific meaning. Here's a funny video about that: \href{https://youtu.be/uhwcEvMJz1Y}{Youtube (hyperlink)}.}

\addFAQ{What is your favorite fish?}{A lumpsucker. They are incredibly, adorably weird-looking.}

\addFAQ{What's the difference between plural `fish' and `fishes'?}{`Fish' is the plural form when talking about two or more fish of the same species. `Fishes' is the plural when talking about two or more different species.}

\addFAQ{How many species of fish exist?}{There are approximately 34,000 described species of fish, which is more than the combined total of all other vertebrate species.}

% Option 2: Use the legacy system (for backward compatibility)
% \qOne{Do we dissect real fish in this course?}
% \aOne{Yes, we do actually dissect fish. If you know of any issues that may cause you difficulties during dissections, please notify your TA ASAP.}
% \qTwo{What is a fish?}
% \aTwo{No clue. When someone says `fish', we have a picture of a general fish of a general shape in our minds, but the truth is that `fish' doesn't have scientific meaning. Here's a funny video about that: \href{https://youtu.be/uhwcEvMJz1Y}{Youtube (hyperlink)}.}
% \qThree{What is your favorite fish?}
% \aThree{A lumpsucker. They are incredibly, adorably weird-looking.}
% \qFour{What's the difference between plural `fish' and `fishes'?}
% \aFour{`Fish' is the plural form when talking about two or more fish of the same species. `Fishes' is the plural when talking about two or more different species.}

%----------------------------------------------------------------------------------------

\begin{document}

%----------------------------------------------------------------------------------------
%   SIDEBAR
%----------------------------------------------------------------------------------------

\makeprofile % Print the main sidebar

%----------------------------------------------------------------------------------------
%   OVERVIEW
%----------------------------------------------------------------------------------------
\section{Overview}

During the first half of this course, we will work up the fish phylogeny, examining both extinct and extant lineages. In the second half, we'll dive deep into the specific systems fish have developed that allow them to dominate the aquatic world. We'll spend the last few weeks looking at their behavior, ecology, and some of the conservation efforts currently underway to help protect our fish populations. Throughout the semester, labs will help students connect what they have read and heard with what they can see and feel, reinforcing the material.

%----------------------------------------------------------------------------------------
%   READING MATERIAL
%----------------------------------------------------------------------------------------
\vspace{0.5cm}
\section{Material}

{\color{myCOLOR} Required Texts}\\
Helfman, G.S., Collette, B.B., Facey, D.E., \& Bowen, B.W. \textit{The Diversity of Fishes: Biology, Evolution, and Ecology}. 2nd Edition. Wiley-Blackwell. 2009. ("DOF") \\

{\color{myCOLOR} Recommended Text}\\
Paxton, J.R. \& Eschmeyer, W.N. \textit{Encyclopedia of Fishes}. 2nd Edition. Harcourt Brace \& Co. 1998. \\

{\color{myCOLOR} Other}\\
Any required journal articles and book chapters will be provided on Canvas.

%----------------------------------------------------------------------------------------
%   GRADING SCHEME
%----------------------------------------------------------------------------------------
\vspace{0.5cm}
\section{Grading Scheme}

\begin{twentyshort}
  \twentyitemshort{15\%}{Review Paper}
  \twentyitemshort{15\%}{Lab Worksheets}
  \twentyitemshort{40\%}{Midterm Exams, 20\% each}
  \twentyitemshort{30\%}{Final Exam}
\end{twentyshort}

Grades will follow the standard scale: A = 89.5-100; B = 79.5-89.4; C = 69.5-79.4; D = 60-69.4; F  $<$60. Curving is at the discretion of the professor.

%----------------------------------------------------------------------------------------
%   EXTRAS
%----------------------------------------------------------------------------------------

\vspace{0.5cm}
\section{Review Paper}

Students will choose a scientific article concerning a topic or species that we covered in class. For this assignment, you will write a summary of the paper and a review: strengths of the paper, things they could improve, perhaps any holes that they did not address, etc. You will then give your review to two classmates to independently review, and you will incorporate their edits into your final draft. You will turn in an abstract of the original paper, the two peer-reviewed copies of your review, the names of people whose papers you reviewed, and your final draft. 15\% of your grade will depend on how thoughtfully and thoroughly you reviewed your peers' papers.

\vspace{0.5cm}
\section{Learning Objectives}

\begin{itemize}
  \item Become familiar with the evolutionary history and taxonomic diversity of fishes
  \item Improve your understanding of the basic physiological and behavioral adaptations of fishes
  \item Gain skills regarding the dissection, collection, and preservation of fish specimens through laboratory work
  \item Learn to critically review a paper and summarize it, as well as review and provide helpful criticism to your peers' work
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                SECOND PAGE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newpage % Start a new page

\makeSide % Print the FAQ sidebar

% \makeFullPage % Uncomment to use full page instead of sidebar

\vspace{0.5cm}
\section{Make-up Policy}

Make-up exams or assignments will only be allowed for students who have a substantiated excuse approved by the instructor \emph{before the due date}. Leaving a phone message or sending an e-mail without confirmation is not acceptable. Labs are mandatory. Make-ups for missing a lab consists of a 1 paragraph summary of a recent fish-oriented journal article highlighted in the news AND a 4 minute power point presentation on the article to the class. Any additional missed labs will result in zero credit for that lab.

\vspace{0.5cm}
\section{Diversity and Inclusivity Statement}

I consider this classroom to be a place where you will be treated with respect, and I welcome individuals of all ages, backgrounds, beliefs, ethnicities, genders, gender identities, gender expressions, national origins, religious affiliations, sexual orientations, ability - and other visible and non-visible differences. All members of this class are expected to contribute to a respectful, welcoming and inclusive environment for every other member of the class.

\vspace{0.5cm}
\section{Accommodations for Students with Disabilities}

If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at 555-5555 or [email protected], as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodations letter.  Please e-mail me as soon as possible in order to set up a time to discuss your learning needs.

\vspace{0.5cm}
\section{Academic Integrity}

The University Code of Academic Integrity is central to the ideals of this course. Students are expected to be independently familiar with the Code and to recognize that their work in the course is to be their own original work that truthfully represents the time and effort applied.  Violations of the Code are most serious and will be handled in a manner that fully represents the extent of the Code and that befits the seriousness of its violation.\\

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                COURSE SCHEDULE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\makeFullPage
\section{Class Schedule}

\begin{center}
  \begin{tabularx}{\textwidth}{p{2cm}p{8cm}p{9.5cm}}
    \arrayrulecolor{myCOLOR}\hline
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MODULE 1
    \multicolumn{3}{l}{\textbf{\textcolor{myCOLOR}{\large MODULE 1: Life's Building Blocks }}} \\
    \hline
    % Week & Topic & Readings \\ \hline
    %%Alternatively, instead of Week #, you can do Class date for meeting
    Week 1 & History of the Earth - Fish Remix & Friedman, M. \& Salland, L.C. (2012). Five hundred million years of extinction and recovery: A Phanerozoic survey of large-scale diversity patterns in fishes. \textit{Palaeontology}, 55(4):707-742 \\

    & Stem \& Extant Agnathans \& Gnathostomes & DOF Ch. 11, pp. 169-179; Ch. 13, pp. 231-240  \\
    & & Brazeau, M.D. \& Friedman, M. (2015). The origin and early phylogenetic history of jawed vertebrates. \textit{Nature}, 520(7548): 490-497.\\
    \arrayrulecolor{maingray}\hline
    Week 2 & Chondrichthyans I: Overview \& Sharks & DOF Ch. 11, pp. 197-200; Ch. 12, pp. 205-227\\

    & Chondrichthyans II: Batoids \& Chimaeras & DOF Chapter 12, pp. 227-229 \\
    \arrayrulecolor{maingray}\hline
    Week 3 & Stem \& Extant Sarcopterygians & DOF Ch. 11, pp. 179-185; Ch. 13, pp. 242-248 \\

    & Actinopts I: Overview & DOF Ch. 14 \& Ch. 15 \\
    \arrayrulecolor{maingray}\hline
    Week 4 & Actinopts II: Basal Actinopts \& Teleostei & DOF Ch. 11, pp. 185-197; Ch. 13, pp. 248-259, Ch. 14, pp. 261-266 \\

    & Actinopts III: Otocephalan Fishes & DOF Ch. 14, pp. 267-275 \\

    \arrayrulecolor{maingray}\hline
    Week 5 & Actinopts IV: Freshwater Fishes & DOF Ch. 16, pp. 339-354; Ch. 18, pp. 410-414, 417-421 \\

    & Actinopts V: Deep Sea Fishes & DOF Ch. 18, pp. 393-401 \\
    & & Davis, M.P., Sparks, J.S., \& Smith, W. L. (2016). Repeated and widespread evolution of bioluminescence in marine fishes. \textit{PLOS One}.\\
    \arrayrulecolor{maingray}\hline
    Week 6 & Actinopts VI: Coral Reef Fishes & Bellwood, D.R. \& Wainwright, P.C. (2002). The History and Biogeography of Fishes on Coral Reefs. \textit{Coral Reef Fishes: Dynamics and Diversity in a Complex Ecosystem}, 5-32. \\

    & Actinopts VII: Pelagic Fishes & DOF Ch. 18, pp. 401-405 \\
    \arrayrulecolor{maingray}\hline
    Week 7 & Review & Module 1 \\
    &EXAM &  MIDTERM 1 \\

    \arrayrulecolor{myCOLOR}\hline
    \multicolumn{2}{l}{\textbf{\textcolor{myCOLOR}{\large MODULE 2: What Makes a Fish }}} \\
    \hline
    Week 8 & Respiration & DOF Ch. 5 \\

    & Cardiovascular Systems & DOF Ch. 4, pp. 45-48 \\
    \arrayrulecolor{maingray}\hline
    Week 9 & Homeostasis & DOF Ch. 4, pp. 52; Ch. 7, pp. 101-105.\\

    & Feeding Mechanisms & DOF Ch. 4, pp. 41-42; Ch. 8, pp. 119-126  \\
    \arrayrulecolor{maingray}\hline
    Week 10 & Sensory Systems & DOF Ch. 6 \\

    &  Buoyancy & DOF Ch. 4, pp. 50-52  \& Ch. 5, pp. 68-70 \\
    \arrayrulecolor{maingray}\hline
    Week 11 &  Locomotion I - Undulatory Propulsion &  Webb, P.W. (1984). Form and function in fish swimming. \textit{Sci. Amer.}, 251(1): 72-83. \\
    % & & Shadwick, R.E. (2005). How tunas and lamnid sharks swim: An evolutionary convergence. \textit{Amer. Sci.}, 93: 524-531. \\

    & Locomotion II - Oscillatory Propulsion & Daniel, T.L. (1984). Unsteady Aspects of Aquatic Locomotion. \textit{Amer. Zoo.}, 24: 121-134.\\
    \arrayrulecolor{maingray}\hline
    Week 12 & Communication \& Reproduction  &  DOF Ch. 22, pp. 477-485 \\

    & & DOF Ch. 21  \\

    &Review & Module 2\\
    \arrayrulecolor{maingray}\hline
    Week 13 & EXAM & MIDTERM 2\\
    &Holiday & Thanksgiving \\

    \arrayrulecolor{myCOLOR}\hline

    \multicolumn{2}{l}{\textbf{\textcolor{myCOLOR}{\large MODULE 3: There Goes the Neighborhood }}} \\
    \hline
    Week 14 & Symbiotic Relationships & DOF Ch. 22, 492-497 \\

    & Behavior & DOF Ch. 23 \\
    \arrayrulecolor{maingray}\hline
    Week 15 & Ecology & DOF Ch. 25 \\

    & Conservation Efforts & DOF Ch. 26 \\
    \arrayrulecolor{myCOLOR}\hline
    Week 16 & FINAL EXAM & Date \& Time \& Location \\
    \hline
  \end{tabularx}
\end{center}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                LAB SCHEDULE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Lab Schedule}

\begin{center}
  \begin{tabularx}{\textwidth}{p{2cm}p{6.5cm}p{11cm}}
    \arrayrulecolor{myCOLOR}\hline
    Week 2 & Chondrichthyan Fishes & Students enjoy a two part lab: first, they examine specimens across the Chondrichthyan phylogeny; second, they dissect a small spiny dogfish shark. \\
    \arrayrulecolor{maingray}\hline
    Week 3 & Harvard Natural History Museum & Students walk through the HMNH and the fossil collection, inspecting various fossil fishes. \\
    \hline
    Week 4 & Basal Teleosts \& Otocephalan Fishes & Students explore specimens across the basal Teleost phylogeny. \\
    \hline
    Week 5 & Freshwater \& Deep-Sea Fishes & Students explore specimens from a diverse group of fishes, and try to place each group in the broader phylogeny. \\
    \hline
    Week 6 & Coral Reef \& Pelagic Fishes & Students explore specimens from a diverse group of fishes, and try to place each group in the broader phylogeny.\\
    \hline
    Week 7 & No Lab & \\
    \hline
    Week 8 & Internal Systems & Students dissect fish specimens, probing and examing key internal systems. \\
    \hline
    Week 9 & Jaw Dissections & Students again dissect their fish specimens, taking apart and visualizing the jaws of their fish. \\
    \hline
    Week 10 & Sensory Systems \& Buoyancy & Students again enjoy a two-part lab: first, examining a broad selection of specimens, comparing and contrasting sensory system apparatuses; and then conducting a series of small experiments to better understand the difficulties associated with buoyancy control in the water. \\
    \hline
    Week 11 & Locomotion & Students dissect fish specimens, looking at muscular and structure of the body and fins. Students also participate in demonstrations designed to elucidate the concept of lift. \\
    \hline
    Week 12 & Review Paper Projects & Students bring electronic devices and/or paper printouts of 2-3 paper choices, and will select peer reviewers. TAs will be available to assist students in choosing a paper and begin reviewing it. \\
    \hline
    Week 13 & No Lab & \\
    \hline
    Week 14 & No Lab & \\
    \hline
    Week 15 & Final Exam Review Sessions & Review Paper Project Due \\
    \arrayrulecolor{myCOLOR}\hline

  \end{tabularx}
\end{center}

%----------------------------------------------------------------------------------------

\end{document}

The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗