Transcription

TEXAS A&M UNIVERSITY – DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERINGSpring 2019CSCE 121Sections505 – 508509 – 512Spring 2019Syllabus: Introduction toProgram Design & ConceptsCourse DescriptionThis class is all about getting youready to handle the basics of writingcode to solve the interesting problemsin computer science. While getting aprogram to work can be a challenge atfirst, as you gain experience you’ll startknocking out code sooner than youwould think.We’ll focus a lot on design andprogramming principles. We’ll use C to implement those principles. Ofcourse we’ll also learn a lot about C in the process.Catalog DescriptionComputation to enhance problemsolving abilities; computationalthinking; understanding how peoplecommunicate with computers, howcomputing affects society; design andimplementation of algorithms; datatypes, program control, iteration,functions, classes, and exceptions;understanding abstraction,modularity, code reuse, debugging,maintenance, and other aspects ofsoftware development; developmentand execution of programs.Americans withDisabilities Act (ADA)Policy StatementThe Americans with Disabilities Act(ADA) is a federal anti-discriminationstatute that provides comprehensivecivil rights protection for persons withdisabilities. Among other things, thislegislation requires that all studentswith disabilities be guaranteed alearning environment that provides forreasonable accommodation of theirdisabilities. If you believe you have adisability requiring anaccommodation, please contactDisability Services, currently located inthe Disability Services building at theStudent Services at White Creekcomplex on west campus or call 979845-1637. For additional information,visit http://disability.tamu.edu.This course uses Blackboard Learn (i.e.eCampus). To know more about itsaccessibility standards please to earn/Resources/Accessibility.aspx.If you find that course content orsoftware are not accessible, pleasecontact your course instructor ordisability services so that appropriateIN THIS SYLLABUS:CourseDescriptionPage 1CatalogDescriptionPage 1ADA PolicyPage 1PrerequisitesPage 1Important DatesPage 2ResourcesPage 2/3Course CopyrightPage 3Course PlagiarismPage 3Getting Help &Contact InformationPage 4LearningOutcomesPage 5TentativeSchedulePage 5GradingPage 6Make Up & Late WorkPage 7Student Behavior &Academic Dishonesty Page 7/8accommodations to the learningenvironment can be made.PrerequisitesA programming course in high schoolor college.

CSCE 121 Spring 2019Important Dates (tentative) Syllabus Quiz: Wednesday, 23 January 2019Exam 1: Wednesday 6 March 2019Exam 2: Wednesday 24 April 2019Final Examo 505–508: 3:30 – 5:30 PM Monday 6 May 2018o 509–512: 10:30 – 12:30 PM Monday 6 May 2018 Extra Credito Sunday 3 March 2019o Sunday, 28 April 20192 Lab:o 505: MW 8:00 – 8:50 AM (ZACH 598)o 506: MW 9:10 – 10:00 AM (ZACH 592)o 507: MW 10:20 – 11:10 AM (ZACH 592)o 508: MW 11:30 AM – 12:20 PM (ZACH 592)o 509: MW 1:50 – 2:40 PM (ZACH 598)o 510: MW 4:10 – 5:00 PM (ZACH 598)o 511: TR 11:10 AM – 12:00 PM (ZACH 598)o 512: TR 12:45 – 1:35 PM (ZACH 598)Meeting Times Lecture (ZACH 310):o 505 – 508: MWF 1:50 – 2:40 PMo 509 – 512: MWF 3:00 – 3:50 PMResourcesREQUIRED TEXTBOOK (ONLINE)CSCE 121: Introduction to Program Design & Concepts C zyBooks Link: http://learn.zybooks.comClass zyBooks Code: TAMUCSCE121RitcheySpring2019This is an online textbook. You will required to have access to your own copy linked to this class with the code above.Otherwise you will not receive credit for completion of activities that count toward your grade.zBooks will give you a refund if you drop the class within a week after Q-drops. So purchase ASAP. Even if you want towait to purchase until after add/drop, you can sign up and get access to first chapter for free!Note: When a section is optional in the first four chapters the content is not optional. See “Getting Started” oneCampus for more information.RECOMMENDED ADDITIONAL TEXTSAny of the following would be an excellent resource to supplement the zyBook since it sometimes lacks in depth ofexplanation. Programming Principles and Practice Using C , Second Edition, Bjarne Stroustrup, Pearson, 2014. A Computer Science Tapestry, Second Edition, Owen L. Astrachan, McGraw-Hill, 2000. (Free PDF)COMPUTERYou must have a computing device that you have permission to install software. It must also be capable of running aVirtual Machine.Bring Your Own Device (BYOD) is an initiative in the college of engineering where students are required bring theirown computing device to class. The following link explains the program and provides information about areas/academics/byodApproved BYOD devices fulfill the requirements for this class, although many other devices are sufficient (i.e. youprobably don’t have to buy a new computer for this class.)

CSCE 121 Spring 20193REQUIRED DIGITAL RESOURCESECAMPUS: https://ecampus.tamu.edu/Provides links to materials, assignments, and resources, and collects some studentsubmissions.PIAZZA: homeAll questions will be fielded through Piazza. Email should only be used in rare instances.The primary benefit is that for many questions everyone can see the answer and otherstudents can answer as well. We will endorse good student responses.You can also post private messages that can only be seen by instructors or an individualinstructor. This allows any instructor or TA to answer which generally leads to quickerresponse times.Sign Up: IMIR:Online code submission system. Mimir supports autograding.TAMU Login: https://class.mimir.io/cas login/5315e0bf-a5bc-4521-baec-923474543dd5Class Access Code: 3167251438GRADESCOPE: http://gradescope.com/Used to grade exams and return midterm exam to you. This system provides a bettergrading system for instructors and TAs. We will create accounts for you before you need toaccess it. You will receive email instructions from Gradescope on connecting.GOOGLE DRIVE: http://google.tamu.eduUsed to share some course materials. You must be logged into your TAMU Google accountto access these materials.Course CopyrightCourse PlagiarismThe materials used within this course are copyrighted.These materials include, but are not limited to, the syllabi,quizzes, exams, lab problems, online handouts, coursevideos, etc. Because these materials are copyrighted, youdo not have the right to copy or distribute these materials,unless permission is expressly granted.All materials generated by the instructor for this class(which may include but are not limited to syllabi and in-classmaterials) are copyrighted. You do not have the right tocopy such materials unless the instructor expressly grantspermission. As commonly defined, plagiarism consists ofpassing off as one’s own the ideas, words, writing, etc.which belong to another. Plagiarism is one of the worstacademic violations, for the plagiarist destroys trust amongothers. If you have any questions regarding plagiarism,please consult the latest issue of the Texas A&M UniversityStudent Rules, under the section “Scholastic Dishonesty.”

CSCE 121 Spring 20194Getting Help & Contact InformationThis course has a plethora of resources for assistance. You should find the resources that meet your needs. For example, ifyou are having trouble accessing your CSE resources, it will be faster if you directly contact the CSE helpdesk rather thanposting on Piazza only to have us tell you to contact the CSEhelpdesk.InstructorDr. Philip Ritchey, PhDInstructional Assistant Professor Email: [email protected] Office: EABB 102 Phone: Unlisted Web: http://faculty.cse.tamu.edu/ritchey Appointments:o Walk in: Check online Calendar ndar.html I have a “semi-open door” policy. I am frequently in my office, and youcan get some help if the door is open. However, sometimes things comeup that prevent me from seeing you immediately. I’ll try to set up a timethat we can meet if that happens.o Make an appointment: https://calendly.com/pcrTeaching AssistantsTeaching assistants are graduate students that run the labsections of the class. You can find TA contact informationand office hours on eCampus. If TA office hours do not workfor you please feel free to make an appointment.Peer TeachersPeer teachers are undergraduate computer science andengineering students who have done well in their CSCEcoursework. Peer teachers attend labs, hold office hoursand can assist with programming, etc. Office hours areposted on the Peer Teachers website. Location: Peer Teacher Central (HRBB 129)Web: hers/Student OrganizationsComputer /student-orgsCollege of ife/studentorgs.htmlTechnology Support:For technological issues related to eCampus, software, andcomputing resources contact the TAMU Help Desk: Student eCampus Help MU IT Help Desk:o The TAMU Help Desk is open 24/7.o Website: http://hdc.tamu.edu/index.php(Online Chat is available)o Phone: (979) 845-8300o Email: [email protected] Help Desko Website:https://wiki.cse.tamu.edu/index.php/Main Pageo Phone: (979) 845-5550o Email: [email protected]’t forget that you might need to contact help for thezyBook or Mimir directly as well.

CSCE 121 Spring 20195Learning OutcomesAt the end of the course, under ABET outcomes (a), (e),and (k), students should be able to:1. Understand computer program structure, designand development.2. Use primitive data types and control structures incomputer programs.3. Declare and use functions in computer programs.4. Understand object-oriented programmingconcepts: objects, classes, inheritance,polymorphism, and encapsulation.5. Understand and apply file I/O in computerprograms.6. Understand and apply aggregate datatypes.7. Navigate and make use of class libraries.8. Write simple computer programs in a high-levelprogramming language, C .Tentative* ScheduleWEEKTOPIC(S)1New forms of what you already know:Assignment & Variables, Control Structures(Sequence, Selection, Iteration), Functions2Design (Flowcharts & Pseudocode), DataRepresentation3Aggregate Datatypes I (CStrings and Arrays),Datatype Limitations4Function organization, Debugging, Unit Testing5Function complexities, Recursion6Pointers, Arrays, and Command LineArguments7IO streams (incl. File IO), Aggregate DatatypesII (2d Arrays and struct)8Designing Objects, Exam 19Spring Break – Be Safe, Have Fun10Constructing classes11Operator Overloading, Dynamic Memory12Linked List, Destructor13Shallow and Deep Copy, Rule of Three14Inheritance, Polymorphism15Templates & Exam 2* Tentative means it can change

CSCE 121 Spring 20196Grading*EXAMS50%ZYBOOK ACTIVITIES7%CLASSPARTICIPATION% total 9080-8970-7960-69 60Letter GradeABCDFIf you take the optional final exam, your course exam average will be the higher of the finalexam average OR the average of exam 1, exam 2, and the final exam. Otherwise, yourcourse exam average is the weighted average of exam 1 (40%) and exam 2 (60%).Your course exam average must be 60% or higher to get a C or higher in the course. Ifyou have less than a 60% course exam average and a passing overall calculated score, themaximum grade you can receive is a D.Participation Activities (4%) Challenge Activities (3%)For full credit, you must successfully complete 85% by the due date.These are hard due dates and you cannot receive credit for late completion. Requiring 85%for full credit allows omissions for extenuating circumstances including excused absences.Various ways will be used to assess your engagement in the course. These can includeattendance and quizzes.For full credit, you must have 85% credit.3%HOMEWORK35%TEAM LABWORK5%Homework is a combination of preparation for and coding of programming assignments.These are due approximately once a week. Must be done on your own. Failing to submit code for more than two homework assignments will result in a failingcourse grade. Can with late day pool, but not after any solutions have been published.o If you feel there are extenuating circumstances, do not wait to submit until after youhave consulted an instructor. We can go back and update late penalties, but only if weknow when you actually finished the assignment. If you want to challenge any grading, you must do so within one week of when thegrade is published.Team labwork are activities to help you get a better understanding of concepts thatstudents traditionally struggle with or that are integral to know prior to doing homeworkprogramming assignments. For full credit, you must complete 85% by the due dates.You must work collaboratively with other students in the class.You must submit as a team with at least one and no more than two other collaborators.You must be present in lab to get credit.These are hard due dates and you cannot receive credit for late completion. Requiring 85% for full cfor extenuating circumstances such as excused absences.SYLLABUS QUIZEXTRA CREDITYou must get a 100% on the syllabus quiz by Wednesday 23 January 2019 to get a passinggrade in the class. You may retake the quiz as needed prior to the due date.You can get up to one point added to your final grade through culture reports that broadenyour exposure to computer science. You can submit up to two reports, and each is worthone-half point. Details for selecting material, writing, and submitting is on eCampus.*At the end of the semester, we will use data from your video watching activity, piazza activity, completion of extra credit, and completeness of graded work to potentially boost borderlinegrades to the next level. It is unlikely that you will be considered if you are at the borderline and you did not submit extra credit and have excessive missing submissions.

CSCE 121 Spring 20197Make Up & Late WorkPlease review Texas A&M student rule n isExpected.It is your responsibility to keep up with the class, even whenunexpected events interfere.Exam Make UpMissed exams will only be rescheduled for universityexcused absences. Note that if advanced notice is notfeasible, you have 2 business days to provide notification.See student rules. A zero will be assigned for exams due toan unexcused absence. Documentation must be submittedprior to making up a missed exam. Job interviews do notconstitute an excused absence unless explicitly approvedby the instructor.zyBook & LabworkThese cannot be submitted late for credit. However, youshould make sure you understand them all. Only requiringa percentage be completed allows for omitting some whenextenuating circumstances arise such as excused absences.Late HomeworkTimely completion of homework is important. Homeworksbuild on each other and are due every week except examweeks.You have a pool of 22 late days. These are designed tohandle excused absences, but you may use them for anyreason. Submission time is the timestamp recorded foryour submission on the online system. One day is a 24 hourperiod. You cannot use a fraction of a day from your pool.You use either a full day or no day. We will give youinstructions on requesting late days from your pool.Otherwise, a 50% late penalty per day is applied.Note: there are frequently technical glitches whensubmitting things close to the due date. So waiting tosubmit until the last minute can easily lead it to becoming alate submission. I suggest finishing an assignment at least12 hours before it is due to ensure it is on time. You shouldalso submit periodically as you develop to get feedbackfrom the autograding system.If you encounter problems with a submission, do not waituntil after talking to an instructor to submit. Submit assoon as you are able. Then contact the instructor to discusswhether an alternative late penalty is appropriate.If excused absences compose more than the allottedpercentage, then gather documentation for all excusedabsences and present to the instructor at the end of thesemester. Adjustments will be made accordingly.Student Behavior &Academic Integrity“An Aggie does notlie, cheat or steal, ortolerate those whodo.”Upon accepting admission to Texas A&M University, a student immediately assumes a commitment to uphold the HonorCode, to accept responsibility for learning, and to follow the philosophy and rules of the Honor System. Students will berequired to state their commitment on examinations, research papers, and other academic work. Ignorance of the rulesdoes not exclude any member of the TAMU community from the requirements or the processes of the Honor System.

CSCE 121 Spring 20198Aggie Honor System OfficeYou should be familiar with the Aggie Honor System Office. Their website provides more information on academicintegrity, plagiarism, etc.http://aggiehonor.tamu.edu/ Definitions of academic misconduct, including dures/HonorSystemRules.aspx#definitionsPotential ures/Sanctions.aspxAcknowledgementNote that most assignments will include reminders of the academic dishonesty policy. By submitting anything for grading,you are essentially saying “On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academicwork. In particular, I certify that I have listed above all the sources that I consulted regarding this assignment, and that Ihave not received or given any assistance that is contrary to the letter or the spirit of the collaboration guidelines for thisassignment.”Student RulesCollaborationEach student has the responsibility to be fully acquaintedwith and to comply with the Texas A&M University StudentRules. More specific rules, information and procedures maybe found in various publications pertaining to eachparticular service or department. For more information,please visit http://student-rules.tamu.edu/Collaboration is important for facilitating learning, andyour peers can be a great resource. So you are encouragedto discuss problems and general approaches with eachother (but not actual solutions). Regardless, unless statedotherwise, all assignments must be done on your own. Thebasic rule is that no student should explicitly share asolution with another student (and thereby circumvent thebasic learning process), but it is okay to share generalapproaches, directions, and so on. If you have an issue thatneeds clarification, contact an instructor or TA.PlagiarismIndividual programming MUST be done on your own. Youmust write assignments in your own words. Plagiarism willnot be tolerated.To help identify possible instances of plagiarism, we mayuse systems for plagiarism detection. Students found tohave engaged in plagiarism will be punished. A typicaloutcome is submission of the incident to the Aggie HonorSystem resulting in an F* in the course.NetiquetteNetiquette is network etiquette. Netiquette covers bothcommon courtesy online and the informal whencommunication occurs online. TAMU InstructionalTechnology Services provides some general netiquetterules that students and faculty are expected to follow. Formore information on netiquette, please licies/Aggie-Honor-Code-andNettiquette

Bring Your Own Device (BYOD) is an initiative in the college of engineering where students are required bring their own computing device to class. The following link exp