CS1371 - Computing for Engineers Summer AY2012 Class Syllabus Contact Information Lecturers: First half of semester Kristin Marsicano (firstname.lastname@example.org) http://www.prism.gatech.edu/~kv33/officeHours.html Second half of semester David Smith (email@example.com) http://www.cc.gatech.edu/fac/David.Smith/ Head TA: Bill Tahler (firstname.lastname@example.org) TAs by section: See TA Index linked from the yellow course tools box on T-Square Course Content The students will be expected to be familiar with the following concepts, either by writing code to solve problems, or by diagramming/demonstrating understanding of the behavior of the more complex algorithms. See the course schedule on T-Square for a more detailed outline of topics. • • • • • • • General principles: abstraction, testing, debugging, problem solving, selection, repetition Basic programming: functions and procedures, data types, the use of variables for storing data, variable scope, mathematical and logical expressions Control flow: conditional statements, iteration (while loop, for loop) Collections: vectors, arrays, strings, cell arrays, structure arrays, matrices Additional topics: file input and output, plotting 2-D and 3-D data, recursion, manipulating sound, manipulating images Theoretical topics: queues and stacks, graphs, sorting data, complexity theory Basic computing proficiency (self-paced labs): “Netiquette”, MS Office, creating simple web pages (HTML/CSS) Course Schedule The course schedule, including test and assignment dates, is available on T-Square. Dates are subject to change; you will be notified via a T-Square announcement if this happens. Language and Software Matlab is an excellent first language for engineers. It is an interpreted language that provides students immediate feedback from their actions, and postpones many of the gory details of correctness until a program is run. It is an ideal environment for ordinary engineering computation. The course is conducted from the Matlab programming environment. 'Matlab' is a registered trademark of The MathWorks, Inc. Textbook, Software, and PRS Device (AKA Things you should purchase) Textbook: Engineering Computation using MATLAB - Third Edition, David M. Smith ISBN-10: 0132870967 ISBN-13: 9780132870962 Relevant reading for each lecture is outlined on the course schedule (see the numbers next to each topic). TurningPoint PRS Clicker: Students will need to purchase a PRS remote, available at the Georgia Tech bookstore. You are welcome to use the virtual remote software, but it doesn’t seem to function as reliably as the clicker device. Software: Students who wish to work on their Matlab assignments on their own computers are required to purchase a Matlab license. For students not wishing to purchase the license, Georgia Tech provides access to computers equipped with Matlab licenses through a licensing arrangement with The MathWorks, Inc. MATLAB is available all across campus on the public computers and via a remote server supported by the College of Engineering. IMPORTANT: If you choose to use the remote or lab option, you are responsible for handling situations where the server is unavailable or the labs are closed. No exceptions to due dates will be made. Grading Policies Grading Scale: There is no curve in this course. However, we may elect to include extra credit assignments at various times during the semester. The grading breakdown is as follows: Homeworks 15% 100% Coding Problems, 10% Comments (yes, that adds up to more than 100%...extra credit!) Labs 5% Three labs overall: Netiquette, Web page, and MS Office; we will not cover the topics in class (instead you will complete self-paced tutorialstyle labs) Tests 45% Three tests, at 15% each Final 35% The final is an important part of your grade! No exemptions. MiniQuizzes and PRS 3% Your mini-quiz average and PRS average contributes to your overall grade as a participation score (which serves as extra-credit) Letter Grades: Letter grades are given according to the following cutoffs with no rounding: 90.0 <= A <= 100 80.0 <= B < 90.0 70.0 <= C < 80.0 60.0 <= D < 70.0 0 <= F < 60.0 Appealing Grades: You have the right to question your grade on any assignment; but you must initiate discussion about the grade within one week of receiving the grade. All regrade requests should be sent via email to the TA for your section. In the email, include your T-square id and a clear description of which questions you would like reviewed and why. Grade issues addressed outside of the requirements listed above will not be considered. Pay attention to your grades. If something doesn't look right, address it immediately! Be sure to follow the guidelines outlined in the "Problem Escalation Policy". It is your responsibility to ensure that all the grades in T-Square are correct before finals week. After that, the only grade appeal will be about grading your final. Any discussion of your grades after the final exam cannot occur until the 3rd week of the next semester you are in school. PRS (Personal Response System): We will ask questions and collect students responses in real time during lecture using the Turning Point Personal Response System. You will receive credit for your participation (see grade breakdown details above). In order to get credit, you must register your clicker through the CS1371 T-square site by the first day of the second week of class. If you do not register your clicker, you will not receive credit. Also, you are responsible for your own responses. It is considered a violation of the academic honor code to answer using someone else's clicker. Mini-quizzes: These are given during your recitation and will contribute extra-credit to your grade as outlined above. There are no excused absences for mini-quizzes. You must attend your own recitation to get credit. Assignment Policies (Homeworks and Labs) Due Dates/Times: Assignments are due electronically as indicated on the class Web site (T-Square) or the announcements. You are free to turn things in early before the due date, but once the due date/time is over, no more submissions are possible. Any problems you encounter during the turn-in period will not warrant additional submission time [unless there is a long-lasting wide-spread T-square failure]. DO NOT WAIT until the last minute to turn in your assignment. Submit early, submit often! Late Work: No late homework or labs are accepted in this class. Any request for exceptions to this policy due to illness, death in the family, or something similarly serious must be accompanied by supporting documentation. ***CAUTION: the preprinted note from the infirmary stating that you visited the infirmary is not sufficient documentation.*** Please contact the Dean of Students with your excuse and they can provide you with the proper documentation: http://www.deanofstudents.gatech.edu/contact.html Multiple Submissions: The system will accept multiple submissions. Be aware that if you are submitting multiple files, if you resubmit, they should all be uploaded again. Comment Grades: Comment grades will be listed as a separate line item in the tsquare grade book. Comments are graded by hand by your section TA. Collaboration: Homework and labs are designed to be learning experiences; they are graded only to encourage students to complete the assignments correctly. Collaboration is permitted and encouraged when working on your homework and labs. However, the material you turn in must be essentially your own work. Submitting large bodies of material written by others without specifically attributing the authorship is plagiarism, and is not permitted on this course, or anywhere else at Georgia Tech. Never, in any circumstance, email source code nor copy from (or allow someone to copy your) someone else’s source code. Simply changing variable names does not constitute original work. Availability: All of the homework files will be released near the beginning of the semester. You may work ahead as far as you want, but the HW may be updated/changed up until 1 week before it' due date. This means that you are not guaranteed the problem you have solved is the problem that should be turned in until 1 week before the due date. At that point the HW is "official" and may be assumed to be correct. It is highly recommended, though, that you attempt the homeworks as early as possible. Additionally, changes to the homework will be minor i.e. typo corrections and test case amendments. Finally, if you think you have discovered a mistake in the homeworksthat are due more than a week in the future please notify your TA so that we can make typo corrections before the assigned week for that HW. Exam Policies Electronic Exams: All exams are given electronically during your regularly scheduled lecture period (except the final exam, which is given during the time specified by the registrar). See the course schedule for exam dates. See the registrar’s website for the final exam date. Details regarding the testing platform will be explained before the first test date. Honor Code: The tests and the final are our primary means of assessing your understanding of course material. They will be taken in a supervised environment during lecture periods. Failure to comply with all of the honor statements listed below with regards to tests/exams will be considered a serious Academic Honor violation: • The use of other programs, applications, software, documents, websites or any other digital items during the electronic exam is *NOT* permitted. Use of any application other than Firefox, and any website other than the e-test, is *NOT* permitted. • Attempting to access the e-test outside of your lecture period is *NOT* permitted. • Collaboration is *NOT* allowed on tests/exams. All work should be your own. Attempt to view another student's answers, or use any class notes, text books, articles, or any other documents (on paper or digital) is considered cheating. • All answers should contain your own work exclusively. You should neither give nor receive inappropriate help during the taking of any examination, in compliance with the letter and spirit of the Georgia Tech Academic Honor Code. Excused Absences: If you must miss an exam for a school-approved reason, it is your responsibility to provide adequate documentation and get approval. If you miss your test / exam period without prior approval or a valid excuse, you may be approved to take a makeup test, but you will be penalized 25% of the maximum test score possible (so the maximum score). ***CAUTION: the preprinted note from the infirmary stating that you visited the infirmary is not sufficient documentation.*** Please contact the Dean of Students with your excuse and they can provide you with the proper documentation. http://www.deanofstudents.gatech.edu/contact.html Final Exam Time: CS1371 has a special place on the Registrar's final exam schedule. Please be aware that the final exam time shown on the Registrar's schedule is tentative — do not make travel plans around it!!! The date and/or time are subject to change. GA Tech announces the actual final exam schedule much later in the semester. Additional Course Policies Open Door Policy: Each of the instructors maintains an open door policy. You are free to visit us during the posted office hours or, if you prefer a different time, arrange an appointment with us. It is very important to contact us as soon as you feel that you might need to. Problems, unlike fine wines, don't improve with age. Email Policy: You must conduct all official email correspondence for this course using your official GT email account. This is to protect your privacy and to comply with FERPA regulations (http://www2.ed.gov/policy/gen/guid/fpco/ferpa/index.html). Email from outside sources such as gmail, hotmail, yahoo, and other personal accounts is automatically rejected by most spam killers. Be sure to put CS1371 in the subject of your e-mail. Problem Escalation policy: If you need help and/or have a problem, you should contact the following people in the following order: (1) Your TA (2) Your Head TA (3) Your Instructor (e-mail addresses on the class web site) If you are not comfortable talking to your TA about a particular issue, please contact the professor ASAP! As stated before, "Problems, unlike fine wines, don't improve with age." Course Components 1. Lectures - Attend, listen and learn. This is usually where we will introduce new material. We will use the PRS (Personal Response System) in each lecture for in-class exercises. 2. Recitations - Example questions with discussion. Questions about the homework and interactive solutions, taking advantage of the small group setting. This time is occasionally used to return graded work and address any questions. 3. Teaching Assistants (TAs) - each section will be assigned a TA. The TA for your section will be your main point of contact for the course, including any questions regarding grades, policies, etc. The TAs are all former CS1371 students. 4. "Help Desk" - group-oriented help for specific homework and lab questions, and more general help on other topics. Staffed by CS1371 TAs. Help Desk hours will be announced on the course T-Square site. Help Desk is located in room 272 in the Clough Undergraduate Learning Commons (CULC). You must sign in/out at the Commons Tutoring Desk on the second floor of the CULC. 5. T-square - our official course management site (tsquare.gatech.edu). This is where all assignments will be posted and submitted, all official announcements will be posted, and all grades will be entered. 6. Homework - learn ins and outs of the topics. Apply the material covered in lecture to programming problems. 7. Tests - should demonstrate your understanding of the course material. Focus on applying concepts and skills learned in homework to new problems. 8. Labs - self-paced exercises in assorted computer-related topics. 9. Final Exam - cumulative assessment of everything in the course. 10. PRS - Personal Response System - used in lecture to help gauge student undersatnding in real time. AKA clicker, TurningPoint remote 11. Piazza.com - online question answer forum for the course. Please ask all questions regarding assignments, class logistics, etc. through Piazza. 12. Practice bank – a bank of past test questions for you to practice with. The questions are categorized by topic. Course Expectations This course is about programming, and is more closely related to creative writing or learning a musical instrument than to any "science." As with writing or music, you cannot learn by watching or reading a book, even a great text book like ours! The only way you learn to program is by programming. It will be difficult at first, but will get easier as you gain experience. Get started. Now. The following guidelines are supplements to, not replacements for, your practicing programming skills. 1. Attend lecture on a regular basis and keep up with the reading. Respond to the PRS questions during lecture. 2. Participate in all discussions and ask questions about the material. This is your best opportunity to review the material and see examples to solidify your understanding. 3. Visit your TA's and / or your Instructor's office hours with questions about grades and the course materials. This is your chance to have one-on-one contact to take care of individual questions and issues. 4. For questions/discussions with your classmates and the TAs regarding the course material, consult Piazza. This is where you can have general-interest questions answered outside lecture and office hours. Before asking a new question on Piazza, please be sure to first search the existing posts to avoid duplicate questions. 5. Complete every homework assignment and use it as a learning opportunity; use collaboration in order to gain a better understanding, not to get the work done faster. This is your chance to learn the material in preparation for the test; not having a solid understanding of the homework *will* lead to poor performance later (i.e. tests, other homework and the final exam). 6. Take responsibility for your coursework submissions; it is your job to make sure that you successfully turned in what you meant to turn in and verify your submission by retrieving and checking your files. This is how you make sure that you get credit for the work you do. 7. Be prepared when you go to get help from a TA or your instructor with specific questions. Bring your work (on computer media) and any other relevant materials to the meeting. 8. Take initiative. You will only get out of this class what you put into it. Begin your assignments early and if you think you need help, come prepared. Use the resources that are provided for you, and be determined to succeed from the start. Miscellaneous Reminders 1. You are responsible for turning in assignments on time. This includes allowing for unforeseen circumstances. 2. You are also responsible for ensuring that what you turned in is what you meant to turn in. The course support software includes a retrieve submission feature. USE IT. This allows you to retrieve what you submitted and ensure that the submission process was complete. Every semester, students manage to lose credit for assignments because they unknowingly fail to complete the submission process. Following every submission with a retrieval of that same submission will allow you to be sure this does not happen to you. 3. Finals and tests must be taken at the scheduled date and time. Any change to your Test or Final time must be approved in writing by your instructor. Please do not ask for special treatment because you have purchased nonrefundable airline tickets. The safe time to travel is after finals week. The finals schedule published at the beginning of the semester is TENTATIVE. The official schedule is published very late in the semester. 4. If you have any personal issues (family/illness/etc.) please go to the Dean of Student's office located in the Student Services Building (Flag Building) next to the Student Center. They are equipped and authorized to verify the problems and will issue a note to your instructors making them aware of the problem and requesting whatever consideration is necessary. 5. The class announcements should be read every day. Official announcements about course matters will be posted there. The general course newsgroup is for posting technical questions about assignments, tests etc. Complaints, questions about your personal problems, etc. should be discussed with your instructor in person or via email.