\batchmode

%% Sarvesh Kulkarni, ECE Dept. Villanova University, PA
%% Ver 1.0: Aug 04, 2023

\documentclass[11pt]{article} % Specifies the document style.
\pagestyle{plain}			  % Specifies an optional heading style.
\usepackage[top=1.0in,left=1.0in,right=1.0in,bottom=0.9in]{geometry} % Set page margins.
\usepackage{titling}          % Sets spacing above and below title
\setlength{\droptitle}{-5em}  % Pull up page title a bit
\posttitle{\par\end{center}\vspace{-2em}} % Set page margins.
\usepackage{multirow}
\usepackage{multicol}       % for multiple cols in list items
\usepackage{booktabs}
\usepackage{tabto}          % skips to place text at precise horiz position (x ccordinate)
\usepackage[hidelinks]{hyperref} % for links incl. urls
\usepackage{xcolor}         % for color text
\usepackage{enumitem}       % for adjusting vertical space between enum items
\usepackage{pgfmath,pgffor} % for looping using 'foreach'
\usepackage[section]{placeins}     % for \FloatBarrier, etc.
\usepackage[T1]{fontenc}    % so | < > display properly
\usepackage{tabularx}       % for schedule tables
\usepackage[font=large,skip=0pt]{caption} % for \caption* with no numbering

\usepackage[compact]{titlesec}  % To adjust spacing above/below section, subsection, etc.
\titlespacing{\section}{0pt}{*3}{*1} % 2nd numb: vert space above sec title, 3rd num: vert space below sec title
 \titlespacing{\subsection}{0pt}{*2}{*1}
\titlespacing{\subsubsection}{0pt}{*1}{*0}

% Counter Declarations
\newcounter{count}          % like i in C-program loop
\newcounter{TAcount}        % like i in C-program loop
\newcounter{totalSections}  % total number of course sections
\newcounter{numTAs}         % no. of TAs assigned in section with largest no. of TAs


% ---------- Course-Specific Fields  --------------------------------

\input{config} % ALL Config inputs to this file

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


\begin{document}

\vspace*{-0.7in}
\noindent
Department of Computing Sciences \hfill Villanova University~~~ \hfill \semester
\vspace*{0.1in}
\begin{center} \Large \textbf{COURSE SYLLABUS} \end{center}
\hrule % draw horizontal rule (line)

\vspace*{0.1in}

\section{\courseNum ~-~ \courseName}


\section{Meeting Information}
\hspace{\parindent} \credits
   \ifnum\credits=1 {~credit,}
   \else            {~credits,}
   \fi
   \contactHrs
   \ifnum\contactHrs=1 {~contact hour} 
   \else               {~contact hours}
   \fi
   \meetingDesc

\setcounter{count}{0}
%\newcommand*\arr{0}%

\vspace{0.05in}
\begin{enumerate}[topsep=-\parskip,itemsep=0.5em,leftmargin=2.5em,label=\alph*.]
  % --- Loop iterates numSec times to generate as many sections ---
  \loop
     \item  \textbf{Section \pgfmathparse{\secNum[\thecount]}\pgfmathresult:}\\ % section number
        \ifnum\lecture=1  {  % lecture session exists
            Lecture:\tabto{0.60in}
            \pgfmathparse{\classTime[\thecount]}\pgfmathresult ,~  % class timing
            \textbf{\pgfmathparse{\classRm[\thecount]}\pgfmathresult} ~~ % classroom
            \ifnum\isClassLive=1  {
               \tabto{3.7in} % place at this precise x coordinate on line
               \small
               \textcolor{blue}{\pgfmathparse{\classLive[\thecount]} \url{\pgfmathresult}} % class URL
               \normalsize
            }\fi
            \newline
        }\fi
        \ifnum\lab=1  {   % lab session exists
            Lab:\tabto{0.60in} 
            \pgfmathparse{\labTime[\thecount]}\pgfmathresult ,~  % lab timing
            \textbf{\pgfmathparse{\labRm[\thecount]}\pgfmathresult} ~~  % lab room
            \ifnum\isLabLive=1  {
               \tabto{3.7in} % place at this precise x coordinate on line
               \small
               \textcolor{blue}{\pgfmathparse{\labLive[\thecount]} \url{\pgfmathresult}}  % lab URL
               \normalsize
            }\fi
        }\fi
     \addtocounter{count}{1}
     \ifnum \value{count}<\value{totalSections}
   \repeat
\end{enumerate}
\ifnum\meetingMiscExists=1  {     % Misc field (for meeting info) exists
   \hspace*{0.1in} \meetingMisc   % misc meeting notes (if specified)
}\fi
   

\section{Course Instructor(s), TA(s)}
\begin{enumerate}[topsep=-\parskip,itemsep=0.5em,leftmargin=2.5em,label=\alph*.]
  
  \setcounter{count}{0}
  % --- Loop iterates numSec times to generate as many sections ---
  \loop
     \item  \textbf{Section \pgfmathparse{\secNum[\thecount]}\pgfmathresult:} % section number
        \ifnum\lecture=1  {  % lecture session exists
            \newline
            Class Instructor:~ 
            \tabto{1.75in}
            \textcolor{blue}{\pgfmathparse{\classInstrContact[\thecount]}\href{\pgfmathresult}{\pgfmathparse{\classInstructor[\thecount]}\pgfmathresult}}\\
            Office Hours:~
            \tabto{1.75in}            
            \pgfmathparse{\classInstrOffHrs[\thecount]} \pgfmathresult, or by appt.
            \ifnum\isClassInstrLive=1  {
            \newline
            Link for Office Hours:~
            \tabto{1.75in}
            \small
            \textcolor{blue}{\pgfmathparse{\classInstrLive[\thecount]} \url{\pgfmathresult}} % office hrs URL
            \normalsize
            }\fi
        }\fi
        \ifnum\lab=1  {   % lab session exists
        
            \vspace{0.03in}
            Lab Instructor:~ 
            \tabto{1.75in}
            \textcolor{blue}{\pgfmathparse{\labInstrContact[\thecount]}\href{\pgfmathresult}{\pgfmathparse{\labInstructor[\thecount]}\pgfmathresult}}\\
            Office Hours:~
            \tabto{1.75in}            
            \pgfmathparse{\labInstrOffHrs[\thecount]}\pgfmathresult, or by appt.
            \ifnum\isLabInstrLive=1  {
            \newline
            Link for Office Hours:~
            \tabto{1.75in}
            \small
            \textcolor{blue}{\pgfmathparse{\labInstrLive[\thecount]} \url{\pgfmathresult}}  % office hrs  URL
            \normalsize
            }\fi
        }\fi

        \ifnum \value{numTAs}=0 {
          TA: \tabto{1.75in} None
        }\fi
                
        \ifnum \value{numTAs}>0 {
         %\vspace{0.1in}
         TA(s):~
         \newline
        \setcounter{TAcount}{0}
        {\loop  
           \pgfmathparse{\TA[\thecount][\theTAcount]}\pgfmathresult ~        % TA[count]
        \tabto{1.75in} \textcolor{blue}{\pgfmathparse{\TAEmail[\thecount][\theTAcount]}\href{mailto:\pgfmathresult}{\pgfmathresult}}\\ % TAEmail[count]
           Office Hours:~
           \tabto{1.75in}
           \pgfmathparse{\TAOffHrs[\thecount][\theTAcount]}\pgfmathresult, or by appt.
           \ifnum\hasTARoom=1  {   % TA Rooms are listed
            \\ Room:
             \tabto{1.75in}
             \pgfmathparse{\TARoom[\thecount][\theTAcount]}\pgfmathresult
           }\fi
          
        \addtocounter{TAcount}{1}
        \ifnum \value{TAcount}<\value{numTAs}
        \repeat
        } % end inner loop
       }\fi
           
     \addtocounter{count}{1}
     \ifnum \value{count}<\value{totalSections}
   \repeat
   
\end{enumerate}
\ifnum\instrMiscExists=1  {     % Misc field (for instructor/TA) exists
   \hspace*{0.1in} \instructorMisc   % misc instructor/TA notes (if specified)
}\fi


\section{Textbook}
\ifnum\textBookExists=1  {  % Main course textbook is specified
   \ifnum\txtBkAuthExists=1  {  % Author(s) is/are named
       \textBookAuth,
   }\fi
   \textit{\textBookTitle}
   \ifnum\txtBkPublExists=1  {  % Publisher is named
       \hspace*{-0.1in}, \textBookPub
   }\fi
   \ifnum\txtBkYrExists=1  {  % Publication Year is specified
       \hspace*{-0.05in}, \textBookYr
   }\fi.
   \ifnum\txtBkISBNExists=1  {  % ISBN is specified
       ISBN: \textBookISBN.
   }\fi
   \ifnum\textBookReqd=1 {
     REQUIRED.
   }\fi
   \ifnum\textBookReqd=0 {
     OPTIONAL.
   }\fi
}\fi
\ifnum\textBookExists=0  {  % Course does not use textbook
   This course does not have a prescribed textbook 
}\fi

\begin{enumerate}[topsep=-\parskip,itemsep=0.5em,leftmargin=2.5em,label=\alph*.]
    \item  \textbf{Other Supplemental Materials:} \supplMaterials

  \ifnum\referencesExist=1  {  % Paper references, usually for grad courses
    \item  \textbf{References:}\\
   \refPapers    % Research papers references specified
  }\fi

  \ifnum\textBookMiscExists=1  {  % Misc field (for textbook) exists
    \item  \textbf{Misc. Notes:}\\
   \textBookMisc   % misc textbook notes (if specified)
  }\fi
\end{enumerate}

\section{Specific Course Information}
  \begin{enumerate}[topsep=-\parskip,itemsep=0.5em,leftmargin=2.5em,label=\alph*.]
    \item  \textbf{Catalog Description}\\
           \catalogDesc
	\item  \textbf{Prerequisites:} \preReqs; \textbf{Co-requisites:} \coReqs
	\item  \coreRequirement
  \end{enumerate}


\section{Learning Objectives}
  \begin{enumerate}[topsep=-\parskip,itemsep=0.5em,leftmargin=2.5em,label=\alph*.]
    \item  \courseExpectation
    
    \ifnum\undergradCourse=1 {
    \item  \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
            \hline 
            \multicolumn{15}{|c|}{ABET Student Outcomes} \\ 
            \hline 
            ~1a~ & ~1b~ & ~2a~ & ~2b~ & ~2c~ & ~2d~ & ~3~ & ~4a~ & ~4b~ & ~4c~ & ~5~ & ~6a~ & ~6b~ & ~7a~ & ~7b~ \\ 
            \hline 
            \ifnum\ABETOutOneA=1   {X} \else {~}\fi  &  % Enters X if ABETOutOneA is set to 1, <space> otherwise
            \ifnum\ABETOutOneB=1   {X} \else {~}\fi  &  % Enters X if ABETOutOneB is set to 1, <space> otherwise
            \ifnum\ABETOutTwoA=1   {X} \else {~}\fi  &  % Enters X if ABETOutTwoA is set to 1, <space> otherwise
            \ifnum\ABETOutTwoB=1   {X} \else {~}\fi  &  % Enters X if ABETOutTwoB is set to 1, <space> otherwise
            \ifnum\ABETOutTwoC=1   {X} \else {~}\fi  &  % Enters X if ABETOutTwoC is set to 1, <space> otherwise
            \ifnum\ABETOutTwoD=1   {X} \else {~}\fi  &  % Enters X if ABETOutTwoD is set to 1, <space> otherwise
            \ifnum\ABETOutThree=1  {X} \else {~}\fi  &  % Enters X if ABETOutThree is set to 1, <space> otherwise
            \ifnum\ABETOutFourA=1  {X} \else {~}\fi  &  % Enters X if ABETOutFourA is set to 1, <space> otherwise
            \ifnum\ABETOutFourB=1  {X} \else {~}\fi  &  % Enters X if ABETOutFourB is set to 1, <space> otherwise
            \ifnum\ABETOutFourC=1  {X} \else {~}\fi  &  % Enters X if ABETOutFourC is set to 1, <space> otherwise
            \ifnum\ABETOutFive=1   {X} \else {~}\fi  &  % Enters X if ABETOutFive is set to 1, <space> otherwise
            \ifnum\ABETOutSixA=1   {X} \else {~}\fi  &  % Enters X if ABETOutSixA is set to 1, <space> otherwise
            \ifnum\ABETOutSixB=1   {X} \else {~}\fi  &  % Enters X if ABETOutSixB is set to 1, <space> otherwise
            \ifnum\ABETOutSevenA=1 {X} \else {~}\fi  &  % Enters X if ABETOutSevenA is set to 1, <space> otherwise
            \ifnum\ABETOutSevenB=1 {X} \else {~}\fi \\  % Enters X if ABETOutSevenB is set to 1, <space> otherwise
            \hline 
           \end{tabular}\\

          \noindent The above student outcomes are defined by the Accreditation Board for Engineering and Technology (ABET) as:
          \vspace{-0.05in}
          \begin{enumerate} % List items are auto-generated based on Student Outcome selections
             \setlength{\itemsep}{1pt}
             \ifnum\ABETOutOneA=1
               {\item[1a.]  an ability to \underline{identify and formulate} complex engineering problems by applying principles of engineering, science, and mathematics}\fi
             \ifnum\ABETOutOneB=1
               {\item[1b.]  an ability to \underline{solve} complex engineering problems by applying principles of engineering, science, and mathematics}\fi
             \ifnum\ABETOutTwoA=1
               {\item[2a.]  an ability to apply engineering design to produce solutions that meet specified needs with consideration of \underline{public health, safety, and welfare}}\fi 
             \ifnum\ABETOutTwoB=1
               {\item[2b.]  an ability to apply engineering design to produce solutions that meet specified needs with consideration of \underline{cultural and social} factors}\fi 
             \ifnum\ABETOutTwoC=1
               {\item[2c.]  an ability to apply engineering design to produce solutions that meet specified needs with consideration of \underline{global and economic} factors}\fi 
             \ifnum\ABETOutTwoD=1
               {\item[2d.]  an ability to apply engineering design to produce solutions that meet specified needs with consideration of \underline{environmental} factors}\fi 
             \ifnum\ABETOutThree=1  
               {\item[3.]  an ability to communicate effectively with a range of audiences by either written or oral means}\fi
             \ifnum\ABETOutFourA=1  
               {\item[4a.]  an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in \underline{global and societal} contexts}\fi
             \ifnum\ABETOutFourB=1  
               {\item[4b.]  an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in \underline{economic} contexts}\fi
             \ifnum\ABETOutFourC=1  
               {\item[4c.]  an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in \underline{environmental} contexts}\fi
             \ifnum\ABETOutFive=1
               {\item[5.]  an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives}\fi
             \ifnum\ABETOutSixA=1
               {\item[6a.]  an ability to \underline{develop and conduct} appropriate experimentation}\fi
             \ifnum\ABETOutSixB=1
               {\item[6b.]  an ability to \underline{analyze and interpret data}, and use engineering judgment to \underline{draw conclusions} }\fi
             \ifnum\ABETOutSevenA=1
               {\item[7a.] an ability to \underline{acquire} new knowledge as needed, using appropriate learning strategies}\fi
             \ifnum\ABETOutSevenB=1
               {\item[7b.] an ability to \underline{apply} new knowledge as needed, using appropriate learning strategies}\fi
          \end{enumerate}
          }\fi
  \end{enumerate}
  
\section{List of Covered Topics}
  \begin{enumerate}[topsep=-\parskip,itemsep=0em,leftmargin=2.5em,label=\arabic*.]
     \covTopics
  \end{enumerate}
 

\section{Tentative Schedule}
\ifnum\isScheduleExternal=1 { % Schedule is an external file to be linked to this document
 \setcounter{count}{0}
 \ifnum\isScheduleCommon=1 { % common schedule for all sections
      \hspace*{0.1in} \pgfmathparse{\tenSchFileName[\thecount]} \href{run:\pgfmathresult}{\textcolor{blue}{Schedule for all sections }}
      % \newline
 }\fi
 \ifnum\isScheduleCommon=0 { % separate schedule for each section
   \loop  % --- Loop iterates numSec times to as many schedules as there are sections ---
      \hspace*{0.1in} \pgfmathparse{\tenSchFileName[\thecount]} \href{run:\pgfmathresult}{\textcolor{blue}{Schedule for section \pgfmathparse{\secNum[\thecount]} \pgfmathresult}}
      \newline
      \addtocounter{count}{1}
   \ifnum \value{count}<\value{totalSections}
   \repeat
   \vspace{-0.2in}
 }\fi
}\fi
\ifnum\isScheduleExternal=0 { % Schedule is generated by our LaTeX template
   Tentative schedules for all sections follow. Be sure to refer to the schedule for your specific section, if more than one is provided. \\
\schedule
   %%% \input{tenSchedule.tex} % LaTeX File that generates our tentative schedule table
   \FloatBarrier
}\fi


\section{Grading Policy}
\gradingPolicy


\section{HW Assignment and Laboratory Report Submission Policy}
\HWandLabPolicy

%---------- CoE and VU Mandated Policies -------------------

\input{college} % edits and additions to CoE/VU mandated policies should be
                            % done in this tex file only

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


\vfill
\noindent
\textit{Prepared by: \courseCoordinator  \hfill \today}


\end{document}
