CS 310: Problem Solving Using Computers (Spring 2017)

Instructor: Beck Hasti, hasti@cs.wisc.edu
5375 Comp Sci, 263-2622
Office Hours: 10 am- noon Mondays
12:30 - 1:30 pm Tuesdays
2 - 3 pm Fridays
and by appointment
TAs David Dosher, Artsiom Hovarau, Kurtis Liu, Aribhit Mishra, and Zi Wang

URLs pages.cs.wisc.edu/~cs310-1
canvas.wisc.edu
piazza.com/wisc/spring2017/cs310

Course Description CS 310 gives engineering students an introduction to programming and developing analytical skills to use in their subsequent course work and professional development. It presents several techniques using computers to solve problems, including the use of symbolic manipulation languages and elementary programming techniques. Techniques are illustrated using sample problems drawn from elementary engineering. Emphasis is on introduction of algorithms with the use of specific tools to illustrate the techniques. NEEP 271 covers similar topics and is recommended for Nuclear Physics students. Students can not get credit for both CS 310 and NEEP 271.
Prerequisites One year of calculus (Math 221 and Math 222). Maximum benefit will accrue to students who take CS 310 early in their college careers. Students are expected to be able to draw upon information from prior (high school) math and science classes.
Learning Objectives
  • Be able to solve a variety of introductory engineering and computer science problems using the techniques presented in the course.
  • Be able to express all solution steps in clear and concise formal professional quality documents.
  • Learn to work effectively within a small group.

This course focuses on problem-based learning. A variety of medium to complex problem types that require multiple-step solutions are presented. Students are expected to use prior math and science and their first and second semester calculus skills to develop solution algorithms for the problem and then implement and present each of those steps as part of a complete solution in the target language or environment.

Students are expected to practice problem solving techniques individually and in small groups to ensure their understanding and ability to apply the solution techniques presented to the given problem and to other similar problems. Students must demonstrate their knowledge and skills by solving problems during lecture, labs, and quizzes and by completing graded homework assignments and written examinations.


Course Content The material comes from many sources: lecture, the on-line readings, the course web site, class email, Piazza discussions.  There is no required textbook for the course.

Hardware and Software The course is taught on the Windows machines in 1370 CS. The current software used is MATLAB and Maple.
Any workstation with MATLAB and Maple may be used to complete the work.

Course Work Grades are determined using the following breakdown:
  • Exams : 60%
    • Exam 1 (20%): Monday, February 27th, 7:15 pm to 9:15 pm
    • Exam 2 (20%): Monday, April 3rd, 7:15 pm to 9:15 pm
    • Exam 3 (20%): Saturday, May 6th, 5:05 pm to 7:05 pm
  • Quizzes : 12% (10 points each, no makeups, lowest score is dropped)
  • Team Lab Participation : 13% (2 points each, no makeups, lowest score is dropped)
  • Homework Assignments : 15% (6 assignments, accepted up to 24 hours late with 10% penalty)
Collaboration Policy There is no collaboration allowed on homework assignments or quizzes in this course. All homework assignments and quizzes must be completed individually.

Students must not research solutions that others have written; they must write their own code and draft their own solution algorithms. Viewing anyone else's solution (past or present) or allowing another student to view your homework solution work is academic misconduct. Students must not view or use code written by anyone other than themselves (unless it is provided to all students by the instructor). If you have a need to cite references to code you have viewed or found, you are committing academic misconduct in this course. Violations of the collaboration policy will result in a zero on the assignment and potentially other penalties if University Academic Misconduct rules are violated.


Topics numeric computation vs symbolic computation, linear systems, data interpolation and approximation, programmed solutions to complex problems, successive numeric approximation algorithms, min/max problems, volume of revolution problems, introduction to ordinary differential equations

Please see the course website for details about which topics are covered in which weeks of the semester.


Disability Accomodations If you are a person with special circumstances that you believe will affect your class performance (for example, visual, hearing, or learning disabilites, or language differences), please let me know as soon as possible so that we may work together to develop strategies to meet both your needs and the requirements of the course. Provide a copy of your McBurney VISA to the instructor before the start of the third week of classes or as soon as a VISA is available. The McBurney Disability Resource Center (263-2741) provides resources to students with disabilities. You will need to provide documentation of disbility to them in order to receive services and accomodations.

Reminders
  • Notify the instructor within the first two weeks of classes if you have a conflict with any of the exams.
  • Notify the instructor within the first two weeks of classes if you participate in religious observances that may interfere with course requirements.
  • Please let the instructor know if you have any trouble accessing or using the technologies being used in this course (such as the lab computers, the course website, etc.).