\setcounter{numTAs}{1}
\setcounter{totalSections}{3}
\def\secNum{{"001","002","003",""}}
\def\tenSchFileName{{"","","",""}}
\def\classTime{{"MWF 9:35 am to 10:25 am Location: TBA","MWF 10:40 am to 11:30 am Location: Vasey Hall 201A","TR 10:00 am to 11:15 am Location: TBA",""}}
\def\classRm{{"Tol 316","Vasey 201A","Tol 310C",""}}
\def\classLive{{"","","",""}}
\def\classInstructor{{"Dr. Sarvesh Kulkarni","Dr. Sarada Prasad Gochhayat","Dr. Jiafeng Xie",""}}
\def\classInstrContact{{"https://www1.villanova.edu/university/engineering/academic-programs/departments/electrical-computer/directory/biodetail.html?mail=sarvesh.kulkarni@villanova.edu&xsl=bio_long","https://www1.villanova.edu/university/engineering/academic-programs/departments/electrical-computer/directory/biodetail.html?mail=sarada.gochhayat@villanova.edu&xsl=bio_long","https://www1.villanova.edu/university/engineering/academic-programs/departments/electrical-computer/directory/biodetail.html?mail=jiafeng.xie@villanova.edu&xsl=bio_long",""}}
\def\classInstrOffHrs{{"Mon, Wed 11:00 am - 12:30 pm","Tue, Thu, Fri 12:00 pm - 1:30 pm","Wed 2:00 pm - 4:00 pm",""}}
\def\classInstrLive{{"","","",""}}
\def\TA{{{"Caroline Ross",""},{"Caroline Ross",""},{"Pengzhou He",""},{""}}}
\def\TAEmail{{{"cross9@villanova.edu",""},{"cross9@villanova.edu",""},{"phe@villanova.edu",""},{""}}}
\def\TAOffHrs{{{"Tue, Thu 10:00 am - 11:00 am",""},{"Tue, Thu 10:00 am - 11:00 am",""},{"Wed 1:00 pm - 3:00 pm",""},{""}}}
\def\TARoom{{{"Tol 425",""},{"Tol 425",""},{"Tol 426A",""},{""}}}
\newcommand\semester{Spring 2023}
\newcommand\rsemester{202330}
\newcommand\courseNum{ECE 1260}
\newcommand\courseName{Engineering Programming \& Applications}
\newcommand\courseCoordinator{Dr. Sarvesh Kulkarni}
\newcommand\credits{3}
\newcommand\contactHrs{3}
\newcommand\lecture{1}
\newcommand\lab{0}
\newcommand\undergradCourse{1}
\newcommand\isFreshmanCourse{1}
\newcommand\isCustomElecPolicy{0}
\newcommand\isClassLive{0}
\newcommand\isLabLive{0}
\newcommand\meetingMiscExists{0}
\newcommand\isClassInstrLive{0}
\newcommand\isLabInstrLive{0}
\newcommand\instrMiscExists{0}
\newcommand\hasTARoom{1}
\newcommand\meetingDesc{(Sec 001/002: Three 50-min. lect.; Sec 003: Two 75-min. lect.)}
\newcommand\meetingMisc{Special notes on meeting info go here, if specified}
\newcommand\instructorMisc{Special notes on instructor(s), TA(s) go here, if specified}
\newcommand\textBookExists{1}
\newcommand\textBookReqd{1}
\newcommand\textBookMiscExists{0}
\newcommand\referencesExist{0}
\newcommand\txtBkAuthExists{1}
\newcommand\txtBkPublExists{1}
\newcommand\txtBkYrExists{1}
\newcommand\txtBkISBNExists{1}
\newcommand\textBookTitle{Engineering Problem Solving with C, Fourth Edition}
\newcommand\textBookAuth{Delores M.\ Etter}
\newcommand\textBookPub{Prentice Hall}
\newcommand\textBookYr{2013}
\newcommand\textBookISBN{978-0136085317}
\newcommand\supplMaterials{Slides and notes posted on Blackboard}
\newcommand\refPapers{References go here, if specified}
\newcommand\textBookMisc{Special notes on textbook(s) go here, if specified}
\newcommand\catalogDesc{Introductory C programming - engineering-focused algorithms and program development in C using: elementary data structures, conditional branching, loop control, console and file I/O operations, pseudo-random numbers, functions, strings, arrays, matrices, structures and pointer variables.}
\newcommand\preReqs{None}
\newcommand\coReqs{ECE 1261}
\newcommand\coreRequirement{Required for BS CPE and BS EE}
\newcommand\courseExpectation{On conclusion of this course, students are expected to:  ~~1. Understand the syntax, structure and construction of basic C programs,  ~~2. Interpret problem statements to create a solution strategy (algorithm),  ~~3. Translate algorithms to C program code using user-defined functions and functions from the C library, and ultimately to generate executable code, and ~~4. Realize that low-level hardware control can be effected using a high-level language (C).}
\newcommand\ABETOutOne{1}
\newcommand\ABETOutTwo{0}
\newcommand\ABETOutThree{0}
\newcommand\ABETOutFour{0}
\newcommand\ABETOutFive{0}
\newcommand\ABETOutSix{0}
\newcommand\ABETOutSeven{0}
\newcommand\covTopics{\item Introduction to computers, their architecture, organization and programming
\item Algorithms, flowcharts, solutions approaches
\item C syntax and usage: constants, variables, basic data types (with range and precision)mathematical and logical operators, assignments, control and loop structures, standard input/output, strings, user-defined functions, library functions
\item Additional data types: arrays, structures, pointers
\item Dynamic memory allocation/de-allocation and access using pointers
\item Pseudo-random numbers, and their generation within a range
\item Data file operations
\item Recursion
\item C programming pitfalls}
\newcommand\isScheduleExternal{0}
\newcommand\isScheduleCommon{0}
\newcommand\scheduleRows{18}
\newcommand\scheduleCols{3}
\newcommand\scheduleHeight{1}
\newcommand\schedule{\begin{table}[h!] \centering 
\caption*{Tentative Schedule for \textbf{Section 001}} \vspace{0.05in}
{\renewcommand{\arraystretch}{1.5} \small
\begin{tabularx}{\linewidth}{c|c|X}
\toprule
\large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics of Study}\\
\midrule \midrule
1 & 1/18 - 1/20 & Class introductions, syllabus and policies; introduction to computer architecture and organization; recent history of computers and languages - from Babbage to the present\\
2 & 1/23 - 1/27 & Algorithms \& solving methodology; C program structure; constants, variables - naming, memory storage, reserved words, basic data types, range and precision; the ASCII table; mathematical operators, their precedence \& associativity\\
3 & 1/30 - 2/3 & Assignments; typecasting; efficient computations (Horner's rule); I/O operations - scanf, printf, format specifiers \textcolor{red}{Quiz 1 - Fri, 2/3}\\
4 & 2/6 - 2/10 & I/O redirection; math functions; conversion of math expressions to C statements; scientific examples: 1. CSI/forensics, 2. freezing temp.\ of seawater; character functions\\
5 & 2/13 - 2/17 & Structures; system limitations; algorithm development - flowcharts, pseudocode; logical operators; control structures; \textcolor{red}{Quiz 2 - Fri, 2/17}\\
6 & 2/20 - 2/24 & Loop structures, modular programming with functions - parameters, arguments, declarations (prototypes) and definitions; Example: tracking icebergs; random numbers\\
7 & 2/27 - 3/3 & Psuedo-random number generation \& use; catch-up \& review;  \textcolor{red}{Midterm - Fri, 3/3}\\
8 & 3/6 - 3/10 & \textbf{Spring break}\\
9 & 3/13 - 3/17 & Sq.\ roots using Newton's method; series expansion for $e^X$; Arrays -  1-D, 2-D; matrices\\
10 & 3/20 - 3/24 & Strings and string functions, example usage; pointer variables - introduction, examples\\
11 & 3/27 - 3/31 & Pointer representation of arrays; dynamic memory allocation/de-allocation; examples;  \textcolor{red}{Quiz 3 - Fri, 3/31}\\
12 & 4/3 - 4/7 & Catch-up; Solved examples \textbf{4/\{6-10\} Easter break}\\
13 & 4/10 - 4/14 & Passing pointers and structures to/from functions; pass by reference \& pass by value\\
14 & 4/17 - 4/21 & File operations: reading, writing, error-handling, file pointers; recursion - factorials, Fibonacci sequence;  \textcolor{red}{Quiz 4 - Fri, 4/21}\\
15 & 4/24 - 4/28 & Overflows, underflows and general programming pitfalls.\\
16 & 5/1 - 5/3 & Catch-up and review week\\
17 & 5/8 - 5/12 & \textcolor{red}{Final Exam - Sat 5/6 @ 10:45 am (only for Sec 001)}\\
\bottomrule \end{tabularx} } \end{table}\begin{table}[h!] \centering 
\caption*{Tentative Schedule for \textbf{Section 002}} \vspace{0.05in}
{\renewcommand{\arraystretch}{1.5} \small
\begin{tabularx}{\linewidth}{c|c|X}
\toprule
\large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics of Study}\\
\midrule \midrule
1 & 1/18 - 1/20 & Class introductions, syllabus and policies; introduction to computer architecture and organization; recent history of computers and languages - from Babbage to the present\\
2 & 1/23 - 1/27 & Algorithms \& solving methodology; C program structure; constants, variables - naming, memory storage, reserved words, basic data types, range and precision; the ASCII table; mathematical operators, their precedence \& associativity\\
3 & 1/30 - 2/3 & Assignments; typecasting; efficient computations (Horner's rule); I/O operations - scanf, printf, format specifiers \textcolor{red}{Quiz 1 - Fri, 2/3}\\
4 & 2/6 - 2/10 & I/O redirection; math functions; conversion of math expressions to C statements; scientific examples: 1. CSI/forensics, 2. freezing temp.\ of seawater; character functions\\
5 & 2/13 - 2/17 & Structures; system limitations; algorithm development - flowcharts, pseudocode; logical operators; control structures; \textcolor{red}{Quiz 2 - Fri, 2/17}\\
6 & 2/20 - 2/24 & Loop structures, modular programming with functions - parameters, arguments, declarations (prototypes) and definitions; Example: tracking icebergs; random numbers\\
7 & 2/27 - 3/3 & Psuedo-random number generation \& use; catch-up \& review;  \textcolor{red}{Midterm - Fri, 3/3}\\
8 & 3/6 - 3/10 & \textbf{Spring break}\\
9 & 3/13 - 3/17 & Sq.\ roots using Newton's method; series expansion for $e^X$; Arrays -  1-D, 2-D; matrices\\
10 & 3/20 - 3/24 & Strings and string functions, example usage; pointer variables - introduction, examples\\
11 & 3/27 - 3/31 & Pointer representation of arrays; dynamic memory allocation/de-allocation; examples;  \textcolor{red}{Quiz 3 - Fri, 3/31}\\
12 & 4/3 - 4/7 & Catch-up; Solved examples \textbf{4/\{6-10\} Easter break}\\
13 & 4/10 - 4/14 & Passing pointers and structures to/from functions; pass by reference \& pass by value\\
14 & 4/17 - 4/21 & File operations: reading, writing, error-handling, file pointers;  recursion - factorials, Fibonacci sequence;  \textcolor{red}{Quiz 4 - Fri, 4/21}\\
15 & 4/24 - 4/28 & Overflows, underflows and general programming pitfalls.\\
16 & 5/1 - 5/3 & Catch-up and review week\\
17 & 5/8 - 5/12 & \textcolor{red}{Final Exam - Tue 5/9 @ 2:30 pm (only for Sec 002)}\\
\bottomrule \end{tabularx} } \end{table}\begin{table}[h!] \centering 
\caption*{Tentative Schedule for \textbf{Section 003}} \vspace{0.05in}
{\renewcommand{\arraystretch}{1.5} \small
\begin{tabularx}{\linewidth}{c|c|X}
\toprule
\large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics of Study}\\
\midrule \midrule
1 & 1/18 - 1/20 & Class introductions, syllabus and policies; introduction to computer architecture and organization; recent history of computers and languages - from Babbage to the present; algorithms \& solving methodology\\
2 & 1/23 - 1/27 & C program structure; constants, variables - naming, memory storage, reserved words, basic data types, range and precision; the ASCII table; mathematical operators, their precedence \& associativity; assignments; typecasting\\
3 & 1/30 - 2/3 & Efficient computations (Horner's rule); I/O operations - scanf, printf, format specifiers \textcolor{red}{Quiz 1 - Thu, 2/2}\\
4 & 2/6 - 2/10 & I/O redirection; math functions; conversion of math expressions to C statements; scientific examples: 1. CSI/forensics, 2. freezing temp.\ of seawater; character functions\\
5 & 2/13 - 2/17 & Structures; system limitations; algorithm development - flowcharts, pseudocode; logical operators; control structures; \textcolor{red}{Quiz 2 - Thu, 2/16}\\
6 & 2/20 - 2/24 & Loop structures, modular programming with functions - parameters, arguments, declarations (prototypes) and definitions; Example: tracking icebergs; random numbers\\
7 & 2/27 - 3/3 & Psuedo-random number generation \& use; catch-up \& review;  \textcolor{red}{Midterm - Thu, 3/2}\\
8 & 3/6 - 3/10 & \textbf{Spring break}\\
9 & 3/13 - 3/17 & Sq.\ roots using Newton's method; series expansion for $e^X$; Arrays -  1-D, 2-D; matrices\\
10 & 3/20 - 3/24 & Strings and string functions, example usage; pointer variables - introduction, examples\\
11 & 3/27 - 3/31 & Pointer representation of arrays; dynamic memory allocation/de-allocation; examples;  \textcolor{red}{Quiz 3 - Thu, 3/30}\\
12 & 4/3 - 4/7 & Catch-up; Solved examples \textbf{4/\{6-10\} Easter break}\\
13 & 4/10 - 4/14 & Passing pointers and structures to/from functions; pass by reference \& pass by value\\
14 & 4/17 - 4/21 & File operations: reading, writing, error-handling, file pointers;  recursion - factorials, Fibonacci sequence; \textcolor{red}{Quiz 4 - Thu, 4/20}\\
15 & 4/24 - 4/28 & Overflows, underflows and general programming pitfalls.\\
16 & 5/1 - 5/3 & Catch-up and review week\\
17 & 5/8 - 5/12 & \textcolor{red}{Final Exam - Mon 5/8 @ 8:30 am (only for Sec 003)}\\
\bottomrule \end{tabularx} } \end{table}}
\newcommand\gradingPolicy{\noindent
{\bf Homework}: 20\% weightage\\
{\bf Quizzes}: four quizzes, 20\% total weightage\\
{\bf Midterm examination}: 30\% weightage\\ 
{\bf Final Exam}: 30\% weightage\\

\vspace{-0.05in}
The final grading curve uses composite scores and will reflect a class average of \textit{B}, depending on the overall performance of the class. Regardless of the grading curve, a student with a composite score of 90+ will be awarded an \textit{A} grade while a student with a composite score of less than 50 will be awarded an \textit{F} grade.}
\newcommand\HWandLabPolicy{\noindent
HW must be completed and uploaded to ``Blackboard" (the course management software) before the posted deadline. For HW assignments that do not require programming, you may handwrite your solutions and either hand them in, or upload a single scanned pdf file before the posted deadline. If programming assignments are given, you must zip up the source code directory and upload the zipped file to ``Blackboard". Late HW assignments will be assessed a 10\% penalty per day, up to the posted cut-off date. After the cut-off date, HW assignments WILL NOT be accepted. 
If you cannot fully finish your HW, turn in your incomplete work to receive partial credit.}
\newcommand\AttendancePolicy{\textcolor{red}{State here if attendance is mandatory or not for your class. Provide a description of what it means to be present (e.g. seated and ready to go, or just in the room; be explicit).}}
\newcommand\ElectronicsPolicy{\textcolor{red}{Since you opted for a customize electronics policy, you should edit this part. Your policy should address your general stance on recording of class sessions and the circumstances under which recording will be allowed or prohibited. If you generally prohibit recording, yet allow recording of certain classes for some reason, then you should notify all students that those classes will be recorded. If recording is permitted as an ADA accommodation for a student, you obviously should not identify that student(s).}}
