\documentclass[tikz,border=10pt]{standalone}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{ulem} % for strikethrough \sout{...} command
\usepackage{color}


%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Adding Tikz %%%
\usepackage{tikz}


\usetikzlibrary{arrows, positioning, calc, intersections, decorations.pathreplacing}

\newcommand\tikzmark[1]{%
  \tikz[overlay,remember picture,baseline] \coordinate [anchor=base] (#1);}

\newcommand\DrawBrace[3]{%
  \draw [ultra thick, decorate,decoration={brace,amplitude=5pt,mirror,raise=2pt}]
    (#1) -- (#2) node [midway,xshift=23pt] {\Huge $\displaystyle #3$};
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\newcommand{\bdot}{\, {\bf \cdot} \,}
\newcommand{\bdot}{\, {\scriptstyle{\bullet}} \,}
\newcommand{\B}[1]{{\bf {#1}}}
\newcommand{\la}{\langle}
\newcommand{\ra}{\rangle}

\newcommand{\force}{{$\mbox{\;}$}}

\newcommand{\myspace}{\mbox{\parbox[c][0.25in]{0.25in}{\hfill}}}  % height then width
\newcommand{\varspace}[2]{\mbox{\parbox[c][#1]{#2}{\hfill}}}

\newcommand{\tikzscale}{1.1cm}

% size of boxes used:  CS x RS
\newcommand\RS{1.5}
\newcommand\CS{2}

% tikzscale x CS
\newcommand{\CSscale}{2.2cm}

\begin{document}
\begin{tikzpicture}[x=\tikzscale,y=\tikzscale]

\colorlet{grayLines}{gray!50}

\newcommand\TIMES{8:00am,9:00am,10:00am,11:00am,12:00pm,1:00pm,2:00pm,3:00pm,4:00pm}
%\newcommand\DAYS{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}
\newcommand\DAYS{Monday,Tuesday,Wednesday,Thursday,Friday}

\newcommand\ROWS{9} % \TIMES list size
\newcommand\COLS{6}  % one more than \DAYS list size

\newcommand\VIIIAM{1}
\newcommand\IXAM{2}
\newcommand\XAM{3}
\newcommand\XIAM{4}
\newcommand\XIIPM{5}
\newcommand\IPM{6}
\newcommand\IIPM{7}
\newcommand\IIIPM{8}
\newcommand\IVPM{9}
\newcommand\VPM{10}

%\newcommand\Sunday{1}
%\newcommand\Monday{2}
%\newcommand\Tuesday{3}
%\newcommand\Wednesday{4}
%\newcommand\Thursday{5}
%\newcommand\Friday{6}
%\newcommand\Saturday{7}
\newcommand\Monday{1}
\newcommand\Tuesday{2}
\newcommand\Wednesday{3}
\newcommand\Thursday{4}
\newcommand\Friday{5}

\newcommand\DTpt[2]{(\CS*#1,\RS*\ROWS - #2*\RS+\RS)}

\newcommand{\slotBox}[5]{\draw[#3] \DTpt{#1}{#2} rectangle node[#4]{\parbox{\CSscale}{\centering #5}} ++(\CS,-\RS);}

\foreach \i in {0,...,\ROWS}
{
   \draw[ultra thick,color=grayLines] (0,\RS*\i)--(\CS*\COLS,\RS*\i);
}
\draw[ultra thick,color=grayLines] (\CS,\RS*\ROWS+1)--(\CS*\COLS,\RS*\ROWS+1);

\draw[ultra thick,color=grayLines] (0,0)--(0,\RS*\ROWS);
\foreach \j in {1,...,\COLS}
{
   \draw[ultra thick,color=grayLines] (\CS*\j,0)--(\CS*\j,\RS*\ROWS+1);
}

\foreach \T [count = \Tj] in \TIMES
{
   \draw[ultra thick, color=grayLines] (0,\RS*\ROWS-\Tj*\RS+\RS) rectangle node[color=black]{\bf \T} (\CS,\RS*\ROWS-\Tj*\RS);
}

\foreach \D [count = \Di] in \DAYS
{
   \draw[ultra thick, color=grayLines] (\CS*\Di,\RS*\ROWS+1) rectangle node[color=black]{\bf \D} (\CS*\Di+\CS,\RS*\ROWS);
}

% office hours MWF 10-11am & 9-11am T
%\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Monday}{\XAM} -- ++(0,-\RS) -- ++ (\CS*3,0) -- ++(0,\RS) -- ++(-\CS,0) -- ++(0,\RS) -- ++(-\CS,0) -- ++(0,-\RS) -- ++(-\CS,0);
%\slotBox{\Friday}{\XAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}
%\path \DTpt{\Tuesday}{\IXAM} -- ++(\CS,-1.25*\RS) node[midway,color=black] {\parbox{2cm}{\centering\bf Office\\Hours\\WA 347}};
%\path \DTpt{\Monday}{\XAM} -- ++(3*\CS,-\RS) node[midway,color=black] {\parbox{6cm}{\centering\bf 10-11am \quad\ \   9-11am \quad\ \  10-11am}};

% office hours MTWF 10-11am 
%\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Monday}{\XAM} -- ++(0,-\RS) -- ++ (\CS*3,0) -- ++(0,\RS) -- ++(-3*\CS,0);
%\slotBox{\Friday}{\XAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}
%\path \DTpt{\Monday}{\XAM} -- ++(3*\CS,-\RS) node[midway,color=black] {\parbox{6cm}{\centering\bf\parbox{1.5cm}{\centering\bf Office\\Hours}\quad\ \  WA 347 \quad\ \   10-11am}};

% office hours MWF 10-11 and T 9-10 and 11-12
\slotBox{\Monday}{\XAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}
\slotBox{\Wednesday}{\XAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}
\slotBox{\Friday}{\XAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}
\slotBox{\Tuesday}{\IXAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}
\slotBox{\Tuesday}{\XIAM}{ultra thick, color=yellow, fill=yellow!60}{color=black}{\bf Office\\Hours\\WA 347}

% office hours MTWF 12-12:30pm
\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Monday}{\XIIPM} -- ++(0,-\RS/2) -- ++(3*\CS,0) -- ++(0,\RS/2) -- ++ (-3*\CS,0);
\path \DTpt{\Monday}{\XIIPM} -- ++(3*\CS,-\RS/2) node[midway,color=black] {\parbox{6cm}{\centering\bf {\small Office Hours} \  WA 347 \  12-12:30pm}};
\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Friday}{\XIIPM} -- ++(0,-\RS/2) -- ++(\CS,0) -- ++(0,\RS/2) -- ++ (-\CS,0);
\path \DTpt{\Friday}{\XIIPM} -- ++(\CS,-\RS/2) node[midway,color=black] {\parbox{2cm}{\centering\bf\small Office\\Hours}};

% office hours MTF 12-12:30pm
%\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Monday}{\XIIPM} -- ++(0,-\RS/2) -- ++(2*\CS,0) -- ++(0,\RS/2) -- ++ (-2*\CS,0);
%\path \DTpt{\Monday}{\XIIPM} -- ++(2*\CS,-\RS/2) node[midway,color=black] {\parbox{4cm}{\centering\bf\parbox{1.5cm}{\centering\bf\small Office\\Hours} 12-12:30pm}};
%\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Friday}{\XIIPM} -- ++(0,-\RS/2) -- ++(\CS,0) -- ++(0,\RS/2) -- ++ (-\CS,0);
%\path \DTpt{\Friday}{\XIIPM} -- ++(\CS,-\RS/2) node[midway,color=black] {\parbox{2cm}{\centering\bf\small Office\\Hours}};

% office hours T 3-4:30pm
%\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Tuesday}{\IIIPM} -- ++(\CS,0) -- ++(0,-1.5*\RS) -- ++(-\CS,0) -- ++(0,1.5*\RS);
%\path \DTpt{\Tuesday}{\IIIPM} -- ++(\CS,-1.5*\RS) node[midway,color=black] {\parbox{2cm}{\centering\bf Office\\Hours\\WA 347\\{\small 3--4:30pm}}};

% office hours T 2:30-4pm
\draw[ultra thick, color=yellow, fill=yellow!60] \DTpt{\Tuesday}{\IVPM} -- ++(\CS,0) -- ++(0,1.5*\RS) -- ++(-\CS,0) -- ++(0,-1.5*\RS);
\path \DTpt{\Tuesday}{\IVPM} -- ++(\CS,1.5*\RS) node[midway,color=black] {\parbox{2cm}{\centering\bf Office\\Hours\\WA 347\\{\small 2:30--4pm}}};

% Calc. 3 MWF 9-10am T 10-11am
\slotBox{\Monday}{\IXAM}{ultra thick, color=green, fill=green!35}{color=black}{\bf {\small Math 2130\\Section 102\\{}[Calculus 3]}\\WA 309}
\slotBox{\Wednesday}{\IXAM}{ultra thick, color=green, fill=green!35}{color=black}{\bf {\small Math 2130\\Section 102\\{}[Calculus 3]}\\WA 309}
\slotBox{\Friday}{\IXAM}{ultra thick, color=green, fill=green!35}{color=black}{\bf {\small Math 2130\\Section 102\\{}[Calculus 3]}\\WA 309}
\slotBox{\Tuesday}{\XAM}{ultra thick, color=green, fill=green!35}{color=black}{\bf {\small Math 2130\\Section 102\\{}[Calculus 3]}\\WA 309}

% Calc. 3 MTWF 8-9am
\draw[ultra thick, color=blue, fill=blue!25] \DTpt{\Monday}{\VIIIAM} -- ++(0,-\RS) -- ++(\CS*3,0) -- ++(0,\RS) -- ++(-\CS*3,0);
\path \DTpt{\Monday}{\VIIIAM} -- ++(3*\CS,-\RS) node[midway,color=black] {\parbox{6cm}{\centering\bf Math 2130 Section 101\\ {}[Calculus 3]\\ \hfill WA 309 \hfill \hfill WA 309 \hfill \hfill WA 309 \hfill \mbox{\,\!}}};
\slotBox{\Friday}{\VIIIAM}{ultra thick, color=blue, fill=blue!25}{color=black}{\bf {\small Math 2130\\Section 101\\{}[Calculus 3]}\\WA 309}

% Galois Theory MWF 11am
\slotBox{\Monday}{\XIAM}{ultra thick, color=red, fill=red!30}{color=black}{\bf{\tiny Math 4010/5530}\\{}[Galois\quad\force\\ \quad Theory]\\WA 308}
\slotBox{\Wednesday}{\XIAM}{ultra thick, color=red, fill=red!30}{color=black}{\bf{\tiny Math 4010/5530}\\{}[Galois\quad\force\\ \quad Theory]\\WA 308}
\slotBox{\Friday}{\XIAM}{ultra thick, color=red, fill=red!30}{color=black}{\bf{\tiny Math 4010/5530}\\{}[Galois\quad\force\\ \quad Theory]\\WA 308}


% Calc. 3 MTWF 11-12pm
%\draw[ultra thick, color=green, fill=green!40] \DTpt{\Monday}{\XIAM} -- ++(0,-\RS) -- ++(\CS*3,0) -- ++(0,\RS) -- ++(-\CS*3,0);
%\path \DTpt{\Monday}{\XIAM} -- ++(3*\CS,-\RS) node[midway,color=black] {\parbox{6cm}{\centering\bf Math 2130-102\\ Calculus 3\\ \hfill WA 105 \hfill \hfill WA 209B \hfill \hfill WA 105 \hfill \mbox{\,\!}}};
%\slotBox{\Friday}{\XIAM}{ultra thick, color=green, fill=green!40}{color=black}{\bf Math 2130\\Calc. 3\\WA 105}

% prayer time T 9am & W 12pm
%\slotBox{\Tuesday}{\IXAM}{ultra thick, color=red, fill=red!30}{color=black}{\small\bf Prayer\\Meeting\\WA 347\\(alt. weeks)}
%\slotBox{\Wednesday}{\XIIPM}{ultra thick, color=red, fill=red!30}{color=black}{\small\bf Prayer\\Meeting\\WA 243\\(alt. weeks)}

% prayer time W 1pm
\slotBox{\Wednesday}{\IPM}{ultra thick, color=purple!50, fill=purple!10}{color=black}{\bf Prayer\\Meeting\\WA 220A}

% tea time W 2:30pm
\draw[ultra thick, color=orange, fill=orange!10] \DTpt{\Wednesday}{\IVPM} -- ++(\CS,0) -- ++(0,1.5*\RS) -- ++(-\CS,0) -- ++(0,-1.5*\RS);
\path \DTpt{\Wednesday}{\IVPM} -- ++(\CS,1.5*\RS) node[midway,color=black] {\parbox{2cm}{\centering\bf Tea Time!\\$3^\text{rd}$ Floor\\Walker}};

% Jr. Hon. Sem. MWF 9am
%\slotBox{\Monday}{\IXAM}{ultra thick, color=blue, fill=blue!20}{color=black}{\bf Math 3510\\Jr. Honors\\WA 304}
%\slotBox{\Wednesday}{\IXAM}{ultra thick, color=blue, fill=blue!20}{color=black}{\bf Math 3510\\Jr. Honors\\WA 304}
%\slotBox{\Friday}{\IXAM}{ultra thick, color=blue, fill=blue!20}{color=black}{\bf Math 3510\\Jr. Honors\\WA 304}


% Colloquia F 3pm
\slotBox{\Friday}{\IIIPM}{ultra thick, color=orange, fill=orange!10}{color=black}{\bf Colloquia\\WA 103A}


\end{tikzpicture}
\end{document}
