Computer Science and Computer Engineering | Computer ...



CSCE 2004 – Programming Foundations IClass Syllabus – Spring 2021Instructors:Name: Dr. Susan Gauch Office: Remote* Office Hours: Mon 4:00-5:00pm; Thurs 1:00-2:00pmEmail: sgauch@uark.edu Section: 002 (Majors) TuTh 3:30-4:45pm, Remote*Name: Dr. Lora Streeter Office: Remote*Office Hours: Tues 11:30-1:00pm; Fri 10:00-11:00amPhone: (479) 575-3012Email: lstrothe@uark.edu Section: 001 (Non-Majors) MWF 8:35-9:25am, Remote*Teaching Assistants:Name: Margaret Adams Office: Remote*Office Hours: Tues 8:30-10:30, Thurs 8:30-10:30, Friday 11:00-1:00Email: mxa002@uark.edu Labs: 4 (Mon 4:10pm), 5 (Wed 4:10pm), 7 (Tues 4:00pm)Name: Justin Boyce Office: Remote*Office Hours: Wed 9:00-10:30, Wed 3:00-4:30, Fri 9:00-10:30, Fri 3:30-5:30Email: jaboyce@uark.eduLabs: 9 (Tues 11:00am), 10 (Thurs 11:00am)Name: Andre FuentesOffice: Remote*Office Hours: Mon 1:00-3:00, Thurs 3:30-5:00, Fri 1:00-3:00Email: aefuente@uark.eduLabs: 1 (Mon 10:45am), 2 (Wed 10:45am)Name: Alan Torres Office: Remote*Office Hours: Mon 5:00-7:00, Tues 1:00-3:00, Wed 5:00-7:00Email: ajtorres@uark.eduLabs: 8 (Thurs 6:00pm), 11 (Fri 4:10pm)TA Office Hours (you may see any TA for help): Mon 1:00-3:00 (Andre), 5:00-7:00 (Alan) Tues 8:30-10:30 (Maggie), 1:00-3:00 (Alan) Wed 9:00-10:30 (Justin), 3:00-4:30 (Justin), 5:00-7:00 (Alan) Thurs 8:30-10:30 (Maggie), 3:30-5:00 (Andre) Fri 11:00-1:00 (Maggie), 1:00-3:00 (Andre) 3:30-5:30 (Justin)* This course will use Collaborate Ultra and/or Zoom for synchronous (“real time”) class meetings. Meeting dates and times will be held during the regularly scheduled times listed above. Please take the time to familiarize yourself with Collaborate Ultra/Zoom by visiting the Lecture, Lab, and Office Hours links in our Blackboard course. You may choose to use Collaborate Ultra/Zoom on your mobile device (phone or tablet).Catalog Description: Introductory programming course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representation, conditional and iterative statements, functions, arrays, strings, file I/O and classes. Using C++ in a UNIX environment. Corequisite: Lab component. Prerequisite:?MATH?2445?or?MATH?2554?or?MATH?2554C?with a grade of C or better. (Typically offered: Fall and Spring)Textbooks:Required: Programming in C++, Frank Vahid and Roman Lysecky. Sign in or create an account at learn.Enter zyBook code: UARKCSCE2004Spring2021Subscribe (A subscription is?$58.? Subscriptions will last?until?May 21, 2021. You may print or save a pdf copy.)Optional: Starting Out with C++ Brief: From Control Structures through Objects, Brief Version, 8th edition. Tony Gaddis, 2014. Published by Pearson. Technology/Software Requirements:Computer with an internet connection: Access to a reliable Internet connection is required for this course. A problem with your Internet access may not be used as an excuse for late, missing, or incomplete coursework. If you experience problems with your Internet connection while working on this course, it is your responsibility to find an alternative Internet access point, such as a public library or Wi-Fi hotspot.An internal or external webcam that supports both video and audio.Respondus LockDown Browser and Monitor for exams.Course Objectives: By the end of this course, students will be able to:Understand the syntax, semantics, and use of fundamental programming features of C++ (variables, input/output, loops, conditionals, and functions).Create programs that use fundamental techniques for storing and manipulating data (arrays, strings, files, searching, sorting).Understand the syntax, semantics, and use of object-oriented features of C++ (abstract data types, constructors, methods, operator overloading).Create programs using an incremental software development process (specification, design, implementation, testing, and documentation).The pedagogical approach will be focused on tools and techniques for computer based problem solving. The syntax and semantics of programming language constructs will be introduced as needed in this context. Labs will reinforce concepts taught in the lecture and also introduce students to the Linux operating system. Biweekly programming assignments and their associated reports will give students hands on programming experience. Topics Covered: Programming Basics (ch1, ch2)CommentsVariables and ConstantsAssignment StatementsArithmetic ExpressionsProgram Input / OutputBranches (ch3)Logical ExpressionsIf StatementsIf-Else StatementsNested If StatementsBoolean VariablesSwitch StatementsLoops (ch4)While LoopsFor LoopsAuto Increment and DecrementDo While LoopsNested LoopsFunctions and Recursion (ch5)Declaring FunctionsCalling FunctionsLocal and Global VariablesValue ParametersRecursionFunction LibrariesArrays and Strings (ch6)Arrays and LoopsArrays as ParametersSearching and SortingCharacter Arrays and StringsTwo-Dimensional ArraysStreams and Files (ch7)Standard I/O StreamsInput FilesReading DataOutput FilesWriting DataClasses and Object Oriented Programming (ch8)Information HidingDefining ClassesImplementing ClassesUsing ClassesConstructors and DestructorsOperator OverloadingPointers (ch9)Pointer VariablesAddress OperatorIndirection OperatorArrays and PointersDynamic Memory AllocationReleasing Dynamic MemoryEvaluation Methods and Grading: In this class, final course grades will be determined as a weighted average of the following items: 5% – Zybook Participation Activities 5% – Class Participation10% – Online Programming Labs35% – Programming Projects (7 projects worth 5% each)15% – Midterm Exam30% – Final Exam You have 14 days after you receive a grade in which to request a regrade. After that time, no grades adjustment requests will be considered. Final grades in the class will be assigned according to the following scale:A: over 90%B: 80 – 89%C: 70 – 79%D: 60 – 69% F: below 60%Zybook Participation Activities: For each of the programming topics listed above, you will be assigned corresponding sections of the Zybook to read. In each section, there are several online participation activities to keep students engaged with the material. Students are allowed to answer these online questions multiple times until you get the correct answers. Grades for Zybook readings will be based on the percentage of assigned participation activities completed. Note: The Programming Challenges in each section are not required, only the Participation exercises and only in the “non-optional” sections of the assigned chapters.Class Participation: Attendance will taken using online polls in Blackboard during at a random time during most lectures. Grades for class participation will be based on the percentage of online polls completed during the semester. There are 2 excused absences in TuTh classes and 3 excused absences in MWF classes. You should notify the professor if you have a situation that will result in multiple class absences.Programming Projects: There will be 7 programming projects that will integrate material taught in the course. The project requirements and due dates will be posted on the class website. The programming projects will be graded out of 100 according to the following scale: 60% – program correctness10% – programming style10% – implementation choices10% – testing10% – external documentationProgramming projects must be submitted electronically by 11:59 pm of the due date specified in the project description. Projects that are submitted after the due date lose 10% per day for up to 3 days late. Projects more than 3 days late will not be accepted and will receive a grade of ZERO. A project is considered one day late if it is submitted after the deadline, but less than 24 hours after the deadline. Per university policy, no work will be accepted after the last day of class, even if it is submitted before the final exam.Partial credit will be given for programs that compile but which are not complete, so starting early on programming projects is strongly encouraged. Programs that do not compile will receive 0/50. Programming projects will be graded within one week of project submission.Online Programming Labs: There will 13 laboratory assignments focusing on fundamental programming techniques. These labs will be automatically graded based on completeness and correctness. Students are allowed to resubmit their lab multiple times before the lab due date and the highest lab score will be recorded. Attendance in the lab is required and the lab grade will be calculated as: percent attendance * percent correctness. If you cannot make the lab in which you are registered one week, you may email the TA of another lab section to get prior approval to attend that one instead and receive an assigned seat.You may attend your labs in person or remotely. If you wish to attend the labs in person, you will be assigned a seat. The Blackboard grade sheet will show your assigned lab and seat number. You must sit in your assigned seat. If you wish to attend the labs remotely, let your professor know via email and they will assign you a “0” for the seat in Blackboard. You are still required to attend your lab at the scheduled time remotely by signing into Blackboard using the Lab link.Exams: This class will have a midterm exam and a comprehensive final exam. Both exams will be closed book, but each student will be allowed to bring in a single 8.5” by 11” sheet of notes containing any information the student wishes to have access to during the exam. Exams will be graded within one week of the exam date.The exams will be conducted using Blackboard with Respondus LockDown Browser and Monitor. You must use a computer with a webcam to allow remote proctoring.Academic Misconduct: As a core part of its mission, the University of Arkansas provides students with the opportunity to further their educational goals through programs of study and research in an environment that promotes freedom of inquiry and academic responsibility. Accomplishing this mission is only possible when intellectual honesty and individual integrity prevail. Each University of Arkansas student is required to be familiar with and abide by the University’s ‘Academic Integrity Policy’ that may be found at honesty.uark.edu/policy. Students with questions about how these policies apply to a particular course or assignment should immediately contact their instructor.In addition to the university’s academic integrity policies, the following policies for exams and programming projects will apply to this class:Exams:Students must have a webcam enabled computerStudents must show their photo ID, page of notes, and a complete panorama of their room, including their desk to the camera at the start of the exam.Students are NOT allowed to copy anything from another student.Students are NOT allowed to get any outside assistance during the exam.This includes collaboration through GroupMe, WhatsApp, Discord, or any other form of technology to exchange information associated with an examination.Students ARE allowed to bring an 8.5” x 11” sheet of paper with any notes they want into the exam. Otherwise, exams are closed book and closed notes.Programming Projects:Students are expected to submit their own work on programming projects.Students are NOT allowed to work in groups to implement programs.Students are NOT allowed to lend or distribute code to each other.Students are NOT allowed to copy code from other individuals or websites.These websites include, but are not limited to, Quizlet, Bartleby, Course Hero, Chegg, and Clutch Prep.Students ARE allowed to ask the instructor and/or GTAs for assistance.Students ARE allowed to borrow and adapt code from this class website.All instances of academic misconduct will be reported to the Academic Initiatives and Integrity office, and may result in a zero on the project or exam, failure in the class, or suspension from the university depending on the severity of the infraction and prior violations.Academic Support: University of Arkansas?Academic Policy Series 1520.10?requires that students with disabilities are provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact me privately at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through the Center for Educational Access (contact 479–575–3104 or visit for more information on registration procedures).Inclement Weather: If the university is officially closed, class will not be held. When the university is open, you are expected to make a reasonable effort to attend class, but not if you do not feel that you can get to campus safely. Any changes to due dates or the class schedule will be communicated via email to your uark email address.Emergency Preparedness: Many types of emergencies can occur on campus; instructions for specific emergencies such as severe weather, active shooter, or fire can be found at emergency.uark.edu. The University of Arkansas has a campus-wide alert system for any hazardous conditions that may arise on campus. To learn more and to sign up:?, changes to the syllabus may be necessary. Students will be notified of any changes to the syllabus in the announcements area of Blackboard. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download