Syllabus 1

79 downloads 7320 Views 147KB Size Report
CGS 2060 – Introduction to Computer Programming - 3 credits. Fall 2011 ... Required Textbook: Python Programming: An Introduction to Computer Science ( 2nd Edition) by John Zelle (ISBN-10: 978-1590282410). Cost (as of 15 Aug 2011 ) is ...
CGS 2060 – Introduction to Computer Programming - 3 credits Fall 2011 Class meeting time and location: Mondays, 11:50 AM – 1:40 PM, CHE 217 Wednesdays, 11:50 AM – 1:40 PM, ENB 116 Class website: on Blackboard (http://learn.usf.edu/) Instructor: Benjamin Geiger Office Location: ENB 327 Office Hours: MW 2:00-3:30 PM, or by appointment Email: [email protected]   Department: Computer Science and Engineering   Teaching Assistant: Divya Vangapally Office Location: ENB 327 Office Hours: TR 2:00-3:30 PM, or by appointment Email: [email protected]   Department: Computer Science and Engineering Required Textbook: Python Programming: An Introduction to Computer Science (2nd Edition) by John Zelle (ISBN-10: 978-1590282410). Cost (as of 15 Aug 2011) is $31.69 for paperback from Amazon. The book’s website is: http://mcsp.wartburg.edu/zelle/python/ Course Description: Introduction to programming and application to computational methods. Emphasis on systematic approach to problem solving. Overview of computer systems, applications and their role in society. Note on applicable credit: No credit for engineering majors. Prerequisites: None General Education dimensions: Critical Thinking, Inquiry, Scientific Processes, and Quantitative Literacy UGR: 6A CAQR (Core Areas of Knowledge and Inquiry = Quantitative Reasoning)

CGS 2060 Syllabus

Page 1 of 4

Course Objectives: On completion of the course the student will be able to: 1. 2. 3. 4. 5. 6. 7. 8.

Comprehend the basic organization of a computer and how data is represented. Understand and use variables and constants, numbers, arrays, strings, and files. Understand and use mathematical and Boolean operators and operations. Develop algorithms to solve mathematically-related problems. Effectively use input and output in Python programs. Effectively use decision and looping in Python programs. Apply modularization with functions in Python programs. Develop programs in Python using built-in functions for math and string manipulation.

Course Outcomes: Achievement of the above objectives will be measured by the students’ ability to: 1. 2. 3. 4. 5. 6. 7. 8.

Describe components of a computer and how they work with each other. Use integers, floating point, arrays, and string types in simple calculations and data manipulation. Demonstrate the use of basic mathematical and logical operators to solve equations. Define what an algorithm is and be able to design simple algorithms using flow charts as a tool. Use input and output to enter variables into equations and output results. Use condition constructs in a program in response to user input. Develop functions that perform certain tasks. Develop simple programs in Python successfully such as bubble sort of an integer array, calculate a simple loan interest using an amortization table, solve a quadratic equation, and the like.

Course Topics: Tentative order of lectures is as follows: • • • • • • • • • • • • • • • •

Week 1: Motivation, parts of a computer, introduction to Python. Week 2: Elements of programs, expressions, operators, input and output statements. Week 3: The software development process, algorithms, flowcharts. Week 4: Numeric data types, using Math library. Week 5: Definite Loops. Week 6: Definite Loops continued, String type. Week 7: String handling, manipulation and representation. Week 8: Overflow from previous weeks. Review for mid-term exam. Mid-term exam. Week 9: Functions, parameters, return values, program structure. Week 10: Decision structures, Conditions. Week 11: Indefinite loops. Week 12: Basic Boolean algebra and operations. Week 13: Lists and Arrays and their operations. Week 14: Sorting; selection sort, bubble sort. Week 15: Overflow from previous weeks. Course wrap-up. Review for final exam. Week 16 (Exams week): Final exam

Detailed Course Outline: A detailed course outline that includes chapter reading suggestions, assignment due dates, and exams dates will be distributed.

CGS 2060 Syllabus

Page 2 of 4

Grading: Students will earn a grade based on assignment, midterm exam, and a comprehensive final exam. The grade breakdown is: • • •

Weekly Assignments 50% - Due at the beginning of the first class of weeks 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14. (Each student’s two lowest scores will be dropped.) Midterm exam: 20% (held in class on 12 October 2011) Comprehensive final exam: 30% (held on 7 December 2011, 12:30-2:30 PM)

The grading scale is as follows: • • • • •

A = at least 90%. B = at least 80% but less than 90%. C = at least 70% but less than 80%. D = at least 60% but less than 70%. F = less than 60%

Note that “+” or “-“ grades may be given to marginal grades at the instructor’s discretion. “A+” may be given to acknowledge exceptional performance.

CGS 2060 Syllabus

Page 3 of 4



Course Policies:



If you must submit work late you need to talk to me at least one-week before the due date in question. Otherwise, late work cannot be accepted except in cases of verifiable emergencies. It is highly recommended that you attend class. I will track attendance. However, class attendance does not directly factor into your grade. We will be observing all university policies regarding religious holidays and disability policies. Any student with a disability who needs special accommodations must bring a current Memorandum of Accommodations from the Office of Student Disability Services (this is the prerequisite for receiving accommodations). Accommodated examinations through the Office of Student Disability Services require two weeks notice. For information regarding religious holidays, please see http://isis.fastmail.usf.edu/usfgc/gc_pp/acadaf/gc10-045.htm. Incomplete ("I") grades will only be given in the case of severe hardship including verifiable medical emergencies or legal troubles. Simply being "overloaded" and unable to complete your work is not grounds for an "I" grade. You may tape the lectures and take notes for personal use, but you may not make monetary profit from the tapes and/or notes. Out of courtesy to other students please make sure that you turn off, or place in silent mode, your cell phone.

• •



• •

Academic Integrity/Academic Dishonesty: I expect students to be honest and not cheat on their assignments or exams. Students may work together on their projects and may use open source software as appropriate. It is absolutely critical that all open source license agreements are followed and that any code that is not the student's be clearly marked as such. Illegal copying of code or other intellectual property would get an employee fired from their job and will earn a student an "FF" for this course. In light of this, I expect you to know the University's policies on student conduct, academic dishonesty, etc. Please see the University's Undergraduate Catalog regarding these policies at http://www.ugs.usf.edu/catalogs/0809/adadap.htm. Statement on Emergency Preparedness for Academic Continuity: In the event of an emergency, it may be necessary for USF to suspend normal operations. During this time, USF may opt to continue delivery of instruction through methods that include but are not limited to: Blackboard, Elluminate, Skype, and email messaging and/or an alternate schedule. It's the responsibility of the student to monitor Blackboard site for each class for course specific communication, and the main USF, College, and department websites, emails, and MoBull messages for important general information.

CGS 2060 Syllabus

Page 4 of 4