\setcounter{numTAs}{1} \setcounter{totalSections}{4} \def\secNum{{"001","002","100","101",""}} \def\tenSchFileName{{"","","","",""}} \def\labTime{{"Tue 2:30 pm - 5:00 pm","Fri 12:30 pm - 3:00 pm","Mon 5:30 pm - 8:00 pm","Wed 5:30 pm - 8:00 pm",""}} \def\labRm{{"DRSDCK-206","DRSDCK-206","DRSDCK-206","DRSDCK-206",""}} \def\labLive{{"","","","",""}} \def\labInstructor{{"Dr. Danai Chasaki","Dr. Xun Jiao","Hengyi Chu","Dr. Sarvesh Kulkarni",""}} \def\labInstrContact{{"https://www1.villanova.edu/university/engineering/academic-programs/electrical-computer/directory/biodetail.html?mail=danai.chasaki@villanova.edu&xsl=bio_long","https://www1.villanova.edu/university/engineering/academic-programs/electrical-computer/directory/biodetail.html?mail=xun.jiao@villanova.edu&xsl=bio_long","https://www1.villanova.edu/university/liberal-arts-sciences/programs/computing-sciences/faculty/biodetail.html?mail=hengyi.chu@villanova.edu&xsl=bio_long","https://www1.villanova.edu/university/engineering/academic-programs/electrical-computer/directory/biodetail.html?mail=sarvesh.kulkarni@villanova.edu&xsl=bio_long",""}} \def\labInstrOffHrs{{"MW 11:30 am - 12:30 pm","Mon 3:00 - 5:00 pm","","MW 11:30 am - 1:00 pm, or by appt.",""}} \def\labInstrLive{{"","","","",""}} \def\TA{{{"TBD",""},{"TBD",""},{"TBD",""},{"TBD",""},{""}}} \def\TAEmail{{{"TBD",""},{"TBD",""},{"TBD",""},{"TBD",""},{""}}} \def\TAOffHrs{{{"TBD",""},{"TBD",""},{"TBD",""},{"TBD",""},{""}}} \def\TARoom{{{"TBD",""},{"TBD",""},{"TBD",""},{"TBD",""},{""}}} \newcommand\semester{Spring 2026} \newcommand\rsemester{202630} \newcommand\courseNum{ECE 1261} \newcommand\courseName{Engineering Programming \& Applications (LAB)} \newcommand\courseCoordinator{Dr. Danai Chasaki} \newcommand\credits{1} \newcommand\contactHrs{3} \newcommand\lecture{0} \newcommand\lab{1} \newcommand\undergradCourse{1} \newcommand\isFreshmanCourse{1} \newcommand\isCustomElecPolicy{0} \newcommand\AIPolicyExists{1} \newcommand\isClassLive{0} \newcommand\isLabLive{0} \newcommand\meetingMiscExists{0} \newcommand\isClassInstrLive{0} \newcommand\isLabInstrLive{1} \newcommand\instrMiscExists{0} \newcommand\hasTARoom{1} \newcommand\meetingDesc{(One 2.5-hour session per week)} \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{0} \newcommand\textBookMiscExists{1} \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{Detailed instructions for lab assignments i.e.\ the specifications sheets, will be posted on Blackboard} \newcommand\refPapers{References go here, if specified} \newcommand\textBookMisc{If, you are in Villanova's Textbook Access Program (students are automatically enrolled) you can access the course e-textbook AT NO ADDITIONAL CHARGE. You should have received an email from the Bookstore with instructions on how to access this e-textbook. Please DO NOT pay to subscribe. If you have not received access instructions, you must go to the campus book store to resolve the matter. If, you have specifically opted out of Villanova's Textbook Access Program, then you will need to purchase either a physical copy of the textbook, or an electronic one if you can locate it.} \newcommand\catalogDesc{Hands-on exercises in implementing, debugging and testing engineering-focused programs in Linux/C using an IDE; examples drawn from math, physics, audio and image processing, cybersecurity, peripheral device control, etc.} \newcommand\preReqs{None} \newcommand\coReqs{ECE 1260} \newcommand\coreRequirement{Required for BS CPE and BS EE} \newcommand\courseExpectation{On conclusion of this course, students are expected to: ~~1. Acquire beginner's proficiency in C programming, ~~2. Learn to develop algorithms for some basic engineering problems and convert them to modular program code, ~~3. Learn to compile, debug and test modular C program code within the Linux operating system with the aid of a software development kit.} \newcommand\ABETOutOneA{0} \newcommand\ABETOutOneB{0} \newcommand\ABETOutTwoA{0} \newcommand\ABETOutTwoB{0} \newcommand\ABETOutTwoC{0} \newcommand\ABETOutTwoD{0} \newcommand\ABETOutThree{1} \newcommand\ABETOutFourA{0} \newcommand\ABETOutFourB{0} \newcommand\ABETOutFourC{0} \newcommand\ABETOutFive{0} \newcommand\ABETOutSixA{1} \newcommand\ABETOutSixB{0} \newcommand\ABETOutSevenA{0} \newcommand\ABETOutSevenB{0} \newcommand\covTopics{\item Writing, editing, compiling, running and debugging C programs \item Input/Output from keyboard and files \item Output formatting and scaling \item Control structures: non-iterative and iterative (loops) \item Modular programming using functions \item Plotting and scaling \item Random numbers \item Hardware control: sound, sensors, actuators } \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|l|X} \toprule \large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics}\\ \midrule \midrule 1 & 1/12 - 1/16 & Syllabus, Policies, Introduction to Linux, its file system, security, windowing environment and command line\\ 2 & 1/19- 1/23 & \textbf{No lab this week for this section}\\ 3 & 1/26 - 1/30 & Lab 1: Distance of two points, Magnitude of numbers, Display Formatting\\ 4 & 2/2 - 2/6 & Lab 2: Area of a circle, Surface area of a sphere\\ 5 & 2/9 - 2/13 & Lab 3: Fahrenheit - Celsius conversion, Polynomial computation\\ 6 & 2/16 - 2/20 & Lab 4: Comparing $e^{\pi}$ and $\pi^{e}$, Trigonometric and 3-D distance computations\\ 7 & 2/23 - 2/27 & Lab 5: Fahrenheit - Celsius conversion rewritten, Wind chill calculation using modular programming\\ 8 & 3/2 - 3/6 & \textbf{Spring break, no lab}\\ 9 & 3/9 - 3/13 & Lab 6: Loops and Graph plots\\ 10 & 3/16 - 3/20 & Lab 7: Monte Carlo simulation to calculate the value of $\pi$\\ 11 & 3/23 - 3/27 & Lab 8: Scalar multiplication of matrix, Checking for palindrome\\ 12 & 3/30 - 4/3 & \textbf{Easter break week, no lab for this section}\\ 13 & 4/6 - 4/10 & Lab 9: Normalize array values\\ 14 & 4/13 - 4/17 & Lab 10: Music synthesis\\ 15 & 4/20 - 4/24 & Lab 11: LED control with Raspberry Pi GPIO \& GrovePi+ board\\ 16 & 4/27 - 5/1 & Lab 12: Burglar alarm with Raspberry Pi \& GrovePi+ board\\ 17 & 5/4 - 5/8 & Catch up week\\ \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|l|X} \toprule \large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics}\\ \midrule \midrule 1 & 1/12 - 1/16 & Syllabus, Policies, Introduction to Linux, its file system, security, windowing environment and command line\\ 2 & 1/19- 1/23 & \textbf{No lab this week for this section}\\ 3 & 1/26 - 1/30 & Lab 1: Distance of two points, Magnitude of numbers, Display Formatting\\ 4 & 2/2 - 2/6 & Lab 2: Area of a circle, Surface area of a sphere\\ 5 & 2/9 - 2/13 & Lab 3: Fahrenheit - Celsius conversion, Polynomial computation\\ 6 & 2/16 - 2/20 & Lab 4: Comparing $e^{\pi}$ and $\pi^{e}$, Trigonometric and 3-D distance computations\\ 7 & 2/23 - 2/27 & Lab 5: Fahrenheit - Celsius conversion rewritten, Wind chill calculation using modular programming\\ 8 & 3/2 - 3/6 & \textbf{Spring break, no lab}\\ 9 & 3/9 - 3/13 & Lab 6: Loops and Graph plots\\ 10 & 3/16 - 3/20 & Lab 7: Monte Carlo simulation to calculate the value of $\pi$\\ 11 & 3/23 - 3/27 & Lab 8: Scalar multiplication of matrix, Checking for palindrome\\ 12 & 3/30 - 4/3 & \textbf{Easter break week, no lab for this section}\\ 13 & 4/6 - 4/10 & Lab 9: Normalize array values\\ 14 & 4/13 - 4/17 & Lab 10: Music synthesis\\ 15 & 4/20 - 4/24 & Lab 11: LED control with Raspberry Pi GPIO \& GrovePi+ board\\ 16 & 4/27 - 5/1 & Lab 12: Burglar alarm with Raspberry Pi \& GrovePi+ board\\ 17 & 5/4 - 5/8 & Catch up week\\ \bottomrule \end{tabularx} } \end{table}\begin{table}[h!] \centering \caption*{Tentative Schedule for \textbf{Section 100}} \vspace{0.05in} {\renewcommand{\arraystretch}{1.5} \small \begin{tabularx}{\linewidth}{c|l|X} \toprule \large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics}\\ \midrule \midrule 1 & 1/12 - 1/16 & Syllabus, Policies, Introduction to Linux, its file system, security, windowing environment and command line\\ 2 & 1/19- 1/23 & \textbf{No lab this week for this section} \\ 3 & 1/26 - 1/30 & Lab 1: Distance of two points, Magnitude of numbers, Display Formatting\\ 4 & 2/2 - 2/6 & Lab 2: Area of a circle, Surface area of a sphere\\ 5 & 2/9 - 2/13 & Lab 3: Fahrenheit - Celsius conversion, Polynomial computation\\ 6 & 2/16 - 2/20 & Lab 4: Comparing $e^{\pi}$ and $\pi^{e}$, Trigonometric and 3-D distance computations\\ 7 & 2/23 - 2/27 & Lab 5: Fahrenheit - Celsius conversion rewritten, Wind chill calculation using modular programming\\ 8 & 3/2 - 3/6 & \textbf{Spring break, no lab}\\ 9 & 3/9 - 3/13 & Lab 6: Loops and Graph plots\\ 10 & 3/16 - 3/20 & Lab 7: Monte Carlo simulation to calculate the value of $\pi$\\ 11 & 3/23 - 3/27 & Lab 8: Scalar multiplication of matrix, Checking for palindrome\\ 12 & 3/30 - 4/3 & Lab 9: Normalize array values\\ 13 & 4/6 - 4/10 & \textbf{Easter break on Mon 4/6; no lab for this section}\\ 14 & 4/13 - 4/17 & Lab 10: Music synthesis\\ 15 & 4/20 - 4/24 & Lab 11: LED control with Raspberry Pi GPIO \& GrovePi+ board\\ 16 & 4/27 - 5/1 & Lab 12: Burglar alarm with Raspberry Pi \& GrovePi+ board\\ 17 & 5/4 - 5/8 & Catch up week\\ \bottomrule \end{tabularx} } \end{table}\begin{table}[h!] \centering \caption*{Tentative Schedule for \textbf{Section 101}} \vspace{0.05in} {\renewcommand{\arraystretch}{1.5} \small \begin{tabularx}{\linewidth}{c|l|X} \toprule \large \textbf{Week \#} & \large \textbf{Dates} & \large \textbf{Topics}\\ \midrule \midrule 1 & 1/12 - 1/16 & Syllabus, Policies, Introduction to Linux, its file system, security, windowing environment and command line\\ 2 & 1/19- 1/23 & \textbf{No lab this week for this section} \\ 3 & 1/26 - 1/30 & Lab 1: Distance of two points, Magnitude of numbers, Display Formatting\\ 4 & 2/2 - 2/6 & Lab 2: Area of a circle, Surface area of a sphere\\ 5 & 2/9 - 2/13 & Lab 3: Fahrenheit - Celsius conversion, Polynomial computation\\ 6 & 2/16 - 2/20 & Lab 4: Comparing $e^{\pi}$ and $\pi^{e}$, Trigonometric and 3-D distance computations\\ 7 & 2/23 - 2/27 & Lab 5: Fahrenheit - Celsius conversion rewritten, Wind chill calculation using modular programming\\ 8 & 3/2 - 3/6 & \textbf{Spring break, no lab}\\ 9 & 3/9 - 3/13 & Lab 6: Loops and Graph plots\\ 10 & 3/16 - 3/20 & Lab 7: Monte Carlo simulation to calculate the value of $\pi$\\ 11 & 3/23 - 3/27 & Lab 8: Scalar multiplication of matrix, Checking for palindrome\\ 12 & 3/30 - 4/3 & \textbf{Easter break week, no lab for this section}\\ 13 & 4/6 - 4/10 & Lab 9: Normalize array values\\ 14 & 4/13 - 4/17 & Lab 10: Music synthesis\\ 15 & 4/20 - 4/24 & Lab 11: LED control with Raspberry Pi GPIO \& GrovePi+ board\\ 16 & 4/27 - 5/1 & Lab 12: Burglar alarm with Raspberry Pi \& GrovePi+ board\\ 17 & 5/4 - 5/8 & Catch up week\\ \bottomrule \end{tabularx} } \end{table}} \newcommand\gradingPolicy{\noindent Lab scores will be aggregated into a single final percentage score. This percentage score will be converted to a letter grade on the following scale: A(93 -- 100), A--(90 -- 92.9), B+(87 -- 89.9), B(83 -- 86.9), B--(80 -- 82.9), C+(77 -- 79.9), C(73 -- 76.9), C--(70 -- 72.9), D+(67 -- 69.9), D(63 -- 66.9), D--(60 -- 62.9), F(<60). Thus, for instance, if there are ten lab assignments in the semester and your scores are 85/100, 90/100, 80/100, 90/100, 88/100, 90/100, 100/100, 100/100, 99/100 and 60/100, then your final score is 882/1000 i.e.\ 88.2\%. Thus, your final grade is B+.} \newcommand\HWandLabPolicy{Labs must be completed and uploaded to ``Blackboard" (the course management software) before the posted deadline. You must zip up the source code directory and upload the zipped file to ``Blackboard". Late lab assignments will be assessed a 10\% penalty per day, up to the posted cut-off date. After the cut-off date, lab assignments WILL NOT be accepted. If you cannot fully finish your lab, turn in your incomplete work to receive partial credit.} \newcommand\AIPolicy{The use of AI-generated textual content, mathematical analyses or program code is NOT permitted in this course. If questions arise about the authorship of your work, you may be asked to verify your authorship by either submitting to an oral examination/assessment by the instructor, or by submitting evidence of your work in the form of drafts, notes and version histories.} \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).}}