\setcounter{numTAs}{1} \setcounter{totalSections}{2} \def\secNum{{"001","002",""}} \def\tenSchFileName{{"","",""}} \def\classTime{{"MWF from 10:40 am to 11:30 am in Tolentine Hall 215.","TR from 10:00 am to 11:15 am in Tolentine Hall 215.",""}} \def\classRm{{"Tolentine Hall 215","Tolentine Hall 215",""}} \def\classLive{{"","",""}} \def\classInstructor{{"Samir Talegaon","Samir Talegaon",""}} \def\classInstrContact{{"https://www1.villanova.edu/university/engineering/academic-programs/departments/electrical-computer/directory.html","https://www1.villanova.edu/university/engineering/academic-programs/departments/electrical-computer/directory.html",""}} \def\classInstrOffHrs{{"Tue, Wed, Thurs 12:00 pm - 1:00 pm","Tue, Wed, Thurs 1:00 pm - 2:00 pm",""}} \def\classInstrLive{{"","",""}} \def\TA{{{"TBD",""},{"TBD",""},{""}}} \def\TAEmail{{{"",""},{"",""},{""}}} \def\TAOffHrs{{{"",""},{"",""},{""}}} \def\TARoom{{{"",""},{"",""},{""}}} \newcommand\semester{Spring 2025} \newcommand\rsemester{202530} \newcommand\courseNum{ECE 1260} \newcommand\courseName{Engineering Programming \& Applications} \newcommand\courseCoordinator{Samir Talegaon } \newcommand\credits{3} \newcommand\contactHrs{3} \newcommand\lecture{1} \newcommand\lab{0} \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{0} \newcommand\instrMiscExists{0} \newcommand\hasTARoom{1} \newcommand\meetingDesc{(Sec 001: Three 50-min. lect.; Sec 002: 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\ABETOutOneA{1} \newcommand\ABETOutOneB{1} \newcommand\ABETOutTwoA{0} \newcommand\ABETOutTwoB{0} \newcommand\ABETOutTwoC{0} \newcommand\ABETOutTwoD{0} \newcommand\ABETOutThree{0} \newcommand\ABETOutFourA{0} \newcommand\ABETOutFourB{0} \newcommand\ABETOutFourC{0} \newcommand\ABETOutFive{0} \newcommand\ABETOutSixA{0} \newcommand\ABETOutSixB{0} \newcommand\ABETOutSevenA{0} \newcommand\ABETOutSevenB{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/13 - 1/17 & Class introductions, syllabus and policies; introduction to computer architecture and organization; recent history of computers and languages - from Babbage to the present\\ 2 & 1/20 - 1/24 & 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/27 - 1/31 & Assignments; typecasting; efficient computations (Horner's rule); I/O operations - scanf, printf, format specifiers \textcolor{red}{Quiz 1 - Fri, 1/31}\\ 4 & 2/3 - 2/7 & 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/10 - 2/14 & Structures; system limitations; algorithm development - flowcharts, pseudocode; logical operators; control structures; \textcolor{red}{Quiz 2 - Fri, 2/14}\\ 6 & 2/17 - 2/21 & Loop structures, modular programming with functions - parameters, arguments, declarations (prototypes) and definitions; Example: tracking icebergs; random numbers\\ 7 & 2/24 - 2/28 & Psuedo-random number generation \& use; catch-up \& review; \textcolor{red}{Midterm - Fri, 2/28}\\ 8 & 3/3 - 3/7 & \textbf{Spring break}\\ 9 & 3/10 - 3/14 & Sq.\ roots using Newton's method; series expansion for $e^X$; Arrays - 1-D, 2-D; matrices\\ 10 & 3/17 - 3/21 & Strings and string functions, example usage; pointer variables - introduction, examples\\ 11 & 3/24 - 3/28 & Pointer representation of arrays; dynamic memory allocation/de-allocation; examples;\\ 12 & 3/31 - 4/4 & Catch-up; Solved examples; \textcolor{red}{Quiz 3 - Fri, 4/4}\\ 13 & 4/7 - 4/11 & Passing pointers and structures to/from functions; pass by reference \& pass by value\\ 14 & 4/14 - 4/17 & File operations: reading, writing, error-handling, file pointers; recursion - factorials, Fibonacci sequence; \textcolor{red}{Quiz 4 - Wed, 4/16} \textbf{Easter break after Wed last class}\\ 15 & 4/22 - 4/25 & Overflows, underflows and general programming pitfalls.\\ 16 & 4/28 - 5/1 & Catch-up and review week\\ 17 & 5/3 - 5/9 & \textcolor{red}{Final Exam Fri, May 5, 2:30 pm - 05:00 pm}\\ \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/13 - 1/17 & Class introductions, syllabus and policies; introduction to computer architecture and organization; recent history of computers and languages - from Babbage to the present\\ 2 & 1/20 - 1/24 & 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/27 - 1/31 & Assignments; typecasting; efficient computations (Horner's rule); I/O operations - scanf, printf, format specifiers \textcolor{red}{Quiz 1 - Thur, 1/30}\\ 4 & 2/3 - 2/7 & 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/10 - 2/14 & Structures; system limitations; algorithm development - flowcharts, pseudocode; logical operators; control structures; \textcolor{red}{Quiz 2 - Thur, 2/13}\\ 6 & 2/17 - 2/21 & Loop structures, modular programming with functions - parameters, arguments, declarations (prototypes) and definitions; Example: tracking icebergs; random numbers\\ 7 & 2/24 - 2/28 & Psuedo-random number generation \& use; catch-up \& review; \textcolor{red}{Midterm - Tue, 3/4}\\ 8 & 3/3 - 3/7 & \textbf{Spring break}\\ 9 & 3/10 - 3/14 & Sq.\ roots using Newton's method; series expansion for $e^X$; Arrays - 1-D, 2-D; matrices\\ 10 & 3/17 - 3/21 & Strings and string functions, example usage; pointer variables - introduction, examples\\ 11 & 3/24 - 3/28 & Pointer representation of arrays; dynamic memory allocation/de-allocation; examples;\\ 12 & 3/31 - 4/4 & Catch-up; Solved examples; \textcolor{red}{Quiz 3 - Thur, 4/3}\\ 13 & 4/7 - 4/11 & Passing pointers and structures to/from functions; pass by reference \& pass by value\\ 14 & 4/14 - 4/17 & File operations: reading, writing, error-handling, file pointers; recursion - factorials, Fibonacci sequence; \textcolor{red}{Quiz 4 - Tue, 4/16} \textbf{Easter break after Wed last class}\\ 15 & 4/22 - 4/25 & Overflows, underflows and general programming pitfalls.\\ 16 & 4/28 - 5/1 & Catch-up and review week\\ 17 & 5/3 - 5/9 & \textcolor{red}{Final Exam Fri, May 3, 10:45 am - 1:15 pm}\\ \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} \\ \\ Letter grade scale: A(93--100), A--(90--92), B+(87--89), B(83--86), B--(80--82), C+(77--79),\\ C(73--76), C--(70--72), D+(67--69), D(63--66), D--(60--62), F(<60)} \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 school 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\AIPolicy{\textcolor{red}{ The use of AI-generated content is not permitted in this course. Its use will result in an academic integrity violation and a zero on the assignment.\\ }} \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).}}