CSC 200 Syllabus. Computer Problem Solving For Science And Engineering

Similar documents
MTH 141 Calculus 1 Syllabus Spring 2017

Computer Architecture CSC

ACADEMIC POLICIES AND PROCEDURES

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

MTH 215: Introduction to Linear Algebra

CRITICAL THINKING AND WRITING: ENG 200H-D01 - Spring 2017 TR 10:45-12:15 p.m., HH 205

Course Syllabus p. 1. Introduction to Web Design AVT 217 Spring 2017 TTh 10:30-1:10, 1:30-4:10 Instructor: Shanshan Cui

PHO 1110 Basic Photography for Photographers. Instructor Information: Materials:

Introduction to Sociology SOCI 1101 (CRN 30025) Spring 2015

Psychology 102- Understanding Human Behavior Fall 2011 MWF am 105 Chambliss

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

Course Syllabus Advanced-Intermediate Grammar ESOL 0352

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

COURSE WEBSITE:

Business Finance 3400 Introduction to Real Estate Autumn Semester, 2017

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

Course Content Concepts

BUS Computer Concepts and Applications for Business Fall 2012

TCH_LRN 531 Frameworks for Research in Mathematics and Science Education (3 Credits)

Ryerson University Sociology SOC 483: Advanced Research and Statistics

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Fashion Design & Merchandising Programs STUDENT INFORMATION & COURSE PARTICIPATION FORM

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

GIS 5049: GIS for Non Majors Department of Environmental Science, Policy and Geography University of South Florida St. Petersburg Spring 2011

Soil & Water Conservation & Management Soil 4308/7308 Course Syllabus: Spring 2008

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

Biology 1 General Biology, Lecture Sections: 47231, and Fall 2017

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

COMM370, Social Media Advertising Fall 2017

KIN 366: Exercise Psychology SYLLABUS for Spring Semester 2012 Department of Kinesiology, Iowa State University

English Policy Statement and Syllabus Fall 2017 MW 10:00 12:00 TT 12:15 1:00 F 9:00 11:00

Math 181, Calculus I

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

ACC : Accounting Transaction Processing Systems COURSE SYLLABUS Spring 2011, MW 3:30-4:45 p.m. Bryan 202

BIOH : Principles of Medical Physiology

SPANISH 102, Basic Spanish, Second Semester, 4 Credit Hours Winter, 2013

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

*In Ancient Greek: *In English: micro = small macro = large economia = management of the household or family

EEAS 101 BASIC WIRING AND CIRCUIT DESIGN. Electrical Principles and Practices Text 3 nd Edition, Glen Mazur & Peter Zurlis

FINN FINANCIAL MANAGEMENT Spring 2014

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

CS 101 Computer Science I Fall Instructor Muller. Syllabus

UNIVERSITY OF NORTH ALABAMA DEPARTMENT OF HEALTH, PHYSICAL EDUCATION AND RECREATION. First Aid

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

PSYC 2700H-B: INTRODUCTION TO SOCIAL PSYCHOLOGY

Foothill College Summer 2016

COMM 210 Principals of Public Relations Loyola University Department of Communication. Course Syllabus Spring 2016

Co-Professors: Cylor Spaulding, Ph.D. & Brigitte Johnson, APR Office Hours: By Appointment

MANAGERIAL LEADERSHIP

Introduction to Information System

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

CS 3516: Computer Networks

Computer Science 1015F ~ 2016 ~ Notes to Students

SPCH 1315: Public Speaking Course Syllabus: SPRING 2014

University of Florida ADV 3502, Section 1B21 Advertising Sales Fall 2017

Spring 2015 CRN: Department: English CONTACT INFORMATION: REQUIRED TEXT:

The Policymaking Process Course Syllabus


Philosophy in Literature: Italo Calvino (Phil. 331) Fall 2014, M and W 12:00-13:50 p.m.; 103 PETR. Professor Alejandro A. Vallega.

CS 100: Principles of Computing

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

COURSE DESCRIPTION PREREQUISITE COURSE PURPOSE

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

Introduction to Personality Daily 11:00 11:50am

ECD 131 Language Arts Early Childhood Development Business and Public Service

General Physics I Class Syllabus

Military Science 101, Sections 001, 002, 003, 004 Fall 2014

THE GEORGE WASHINGTON UNIVERSITY Department of Economics. ECON 1012: PRINCIPLES OF MACROECONOMICS Prof. Irene R. Foster

Academic Freedom Intellectual Property Academic Integrity

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

INTRODUCTION TO GENERAL PSYCHOLOGY (PSYC 1101) ONLINE SYLLABUS. Instructor: April Babb Crisp, M.S., LPC

The University of Texas at Tyler College of Business and Technology Department of Management and Marketing SPRING 2015

School: Business Course Number: ACCT603 General Accounting and Business Concepts Credit Hours: 3 hours Length of Course: 8 weeks Prerequisite: None

COURSE SYLLABUS HSV 347 SOCIAL SERVICES WITH CHILDREN

Our Hazardous Environment

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

MGMT 479 (Hybrid) Strategic Management

Texas A&M University - Central Texas PSYK EDUCATIONAL PSYCHOLOGY INSTRUCTOR AND CONTACT INFORMATION

Course Syllabus. Alternatively, a student can schedule an appointment by .

Education: Integrating Parallel and Distributed Computing in Computer Science Curricula

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Physics Experimental Physics II: Electricity and Magnetism Prof. Eno Spring 2017

UEP 251: Economics for Planning and Policy Analysis Spring 2015

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

MURRAY STATE UNIVERSITY DEPARTMENT: NUTRITION, DIETETICS, AND FOOD MANAGEMENT COURSE PREFIX: NTN COURSE NUMBER: 230 CREDIT HOURS: 3

Southeast Arkansas College 1900 Hazel Street Pine Bluff, Arkansas (870) Version 1.3.0, 28 July 2015

Stochastic Calculus for Finance I (46-944) Spring 2008 Syllabus

Syllabus for ART 365 Digital Photography 3 Credit Hours Spring 2013

FIN 571 International Business Finance

Physics XL 6B Reg# # Units: 5. Office Hour: Tuesday 5 pm to 7:30 pm; Wednesday 5 pm to 6:15 pm

MKT ADVERTISING. Fall 2016

INFO I303 Organizational Informatics

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

Process to Identify Minimum Passing Criteria and Objective Evidence in Support of ABET EC2000 Criteria Fulfillment

Transcription:

CSC 200 Syllabus Computer Problem Solving For Science And Engineering Time and Location Lecture: All sections MWF 12 12:45 p.m. Chaffee 273 Lab: Section 0001 T 12 1:45 pm Tyler 036 Section 0002 R 8 9:45 am Tyler 036 Textbook Big C++, Second Edition Cay Horstman, John Wiley & Sons, Inc., 2005 ISBN: #978 0 470 38328 5 Instructor Name: Prof. James Kowalski Email*: jgk@cs.uri.edu Office: Tyler 254, (401) 874 2701 Office Hours: TBA James Kowalski is Professor of Computer Science and Philosophy at URI where he has taught since 1971. He is interested in the application of machine learning, neural networks, and evolutionary computational techniques to classification and optimization problems. He has also worked on applying knowledge based methods and fuzzy logic to problem solving systems. Lab Instructor Name: Kenneth Rahn Jr Email*: krahn@cs.uri.edu Office: Tyler 128, (401) 874 4391 or (401) 338 2429 Office Hours: Tuesday, Thursday 10 11 am Teaching Assistant Name: Daniel Ducharme Email*: dducharme@mail.uri.edu Office: Tyler 136 Office Hours: Wednesday, Thursday 2 3pm * In all emails, please put "CSC 200" in the subject line Website: Mirror: http://homepage.cs.uri.edu/courses/spring2009/csc200/ http://csc200.crazeekennee.com/

URI Course Catalog Specifics Description An integrated symbolic, numerical, and graphical approach to computer problem solving. Structured design; fundamental programming techniques. Computer algebra systems. Scientific, engineering, and mathematical applications. Prerequisites Credit or concurrent enrollment in MTH 131 or 141. Notes Not for major credit in computer science. May not be taken for credit by students with credit in CSC 201 or CSC 211. Course Overview From cellular phones to VOIP, smart grid to artificial intelligence, and RFIDs to virtual server farms, the range and power of computers is expanding every second. Moore's Law has catalyzed many of the advances, but as we approach physical boundaries on transistor and process size, growth trends towards the efficient utilization of available resources. Multicore architecture is a great example, as it takes full advantage of latent or infrequently used resources, but even that will reach a physical barrier. One constant in the search for "better, faster, smaller" is the human factor. Whether we are designing, programming, or just using, computers are only as smart as we allow them to be. The fastest, most powerful computer in the world will still choke on sloppy, inefficient code, or poorly reasoned solutions. A good example of that concept is allowing two very different computers, an old desktop and a new supercomputer, to run buggy code that puts them into an infinite loop. The main difference between them suddenly becomes only how fast they traverse the loop. Hopefully the loop code doesn't have a memory leak, but if it does, then both computers will quickly become unusable. This course will focus on thinking. Yes, the T word. The first step in creating an efficient solution is to think about the problem. Stop, take a few minutes, and think about the initial state (assumptions or current conditions), then think about the end result (what condition or state is the desired outcome). Once you know where you are, and where you want to be, then you are ready to figure out how to get there, which is the solution to the problem. Please note the 'end result' is NOT the solution, but the desired final state of the system. Why do we care how the problem is solved? Why do we look for efficient, well reasoned solutions instead of throwing together a hack just to get it done? What's the big difference, especially since it takes only microseconds to run the solution? The answer is "n", which is defined as an indefinite number, one whose value ranges from the very small to the very large. An example of the power of "n" is a solution might take 4 microseconds if n is 1, 2, 3, or even 1000, but what happens when "n" is 1,000,000 or 1,000,000,000 or 10 n? Think that doesn't apply to the sciences or engineering? How many bits of information must be tracked when: 1) modeling the human genome, or weather patterns during the Olympics 2) determining where micro fractures are most likely to appear on a circuit board or a bridge

3) calculating the probable effect on the environment due to an oil or toxic waste spill 4) determining how an artificial organ will behave in a human internal environment There are many more scenarios, but whenever a problem must keep track of a countably infinite number of variables and interactions, efficient, well reasoned code is a must. This course will introduce Object Oriented Programming (OOP), and show you how to use objects to expand your programs and algorithms to the handle n th degree through delegation. OOP, in a nutshell, off loads much of the accounting work to the objects themselves, and the main program only has to keep track of the objects, and serve as a higher level controller. This course requires students to use the C++ language to implement their solutions. C++ was chosen primarily for its ease of use. It is important to note that CSC 200 is NOT a C++ course, but a course in computer problem solving techniques, which can be ported to any language. Other topics to be covered include pointers, streams, and inheritance. If time permits, we will also delve into the world of recursion, sorting and searching, and basic computer architecture.

Weekly Topics Here is a planned schedule for the semester. The actual speed at which topics are covered may change, depending on class progress. Week C++ Essentials Big C++ Topic 1 1 1 Introduction 2 2 2.1 2.6 Fundamental Data Types 3 3 2.7, 2.8 Objects 4 4 3.1, 3.2, 3.5, 3.6, 3.10 Basic Control Flow 5 5 4 Functions 6 6 5 Classes 7 7 3.3, 3.4, 3.7 3.9, 3.11 Advanced Control Flow 8 9 6 Vectors & Arrays 9 10 7 Pointers 10 11 8 Inheritance 11 12 9 Streams 12 14 10 Recursion 13 15 11 Sorting & Searching 14 TBA TBA TBA 15 Final Exam Review

Grading Homework 30% Programs 15% Labs 15% Class Participation 10% Midterm Exam 15% Final Exam 15% Homework: Homework assignments will be handed out every lecture and due the following lecture. Computer science, like any every critical thinking discipline, must be practiced often if it is to be learned. Most homework assignments will involve independent research, and all are designed to give students a solid review of the past lectures, an overview of how real world problems have been, are, and will be solved using computers, and a preview of lessons to come. Programs: There will be two assigned programs, dates to be announced. Each will constitute 7.5% of the program portion of the grade. Rubrics will be handed out with the assignments. The emphasis of the programming assignments will be to demonstrate the student's ability to solve a real world problem, and implement that solution in C++. Labs: Lab assignments will be not be posted before the assigned lab period, but distributed in lab. In some cases, students will be expected to modify existing code, but most of the time students will generate their own programs. Labs will be designed to practice concepts learned in lecture that week. Lab assignments on Tuesday are due by the Friday of the same week, and lab assignments on Thursday are due by the Monday after lab. Class Participation: A nontrivial portion of life is showing up, so attendance will be taken every lecture and it will count for half of this section's grade. The other half of this section is based on the individual student's effort level, independent of ability. Midterm Exam The midterm exam will be closed book, notes, cellular phone, calculator, laptop, everything. It will take one full class period, and will be comprehensive. The exam date is Monday, March 9th and will be given in class. Please bring only writing utensils (more than one, just in case) with you. Nothing else will be needed. Final Exam: The final exam will also be closed book, notes, cellular phone, calculator, laptop, everything. It is scheduled for Friday, May 8, from 11:30 am 2:30 pm, in the regular classroom. Please bring only writing utensils (more than one, just in case) with you. Nothing else will be needed. The final exam schedule can also be found at: http://www.uri.edu/es/calexams/examschedulespring2009.html

Important Semester Dates Advising Day Jan. 20 Classes begin Jan. 21 Last day to drop "Early Drop" courses Jan. 30 Last day to ADD and to ADD Pass/Fail Option (Last day to drop with billing adjustment) Feb. 3 President s Day, classes do not meet, offices are open Feb. 16 Midterm Exam Mar. 9 Mid semester Mar. 10 Midterm grades for freshmen due in Enrollment Services Office by 5:00 PM Mar. 13 Spring Break, classes do not meet, offices are open Mar. 16 Last day to DROP courses (billing adjustment not applicable after add period). Mar. 24 Last day to CHANGE from Pass/Fail Option Mar. 24 Classes end Apr. 29 Reading days Apr. 30 May 1 Final examinations May 4 8, 11,12 CSC 200 Final Examination May 8 Final grades due in e Campus by5:00 PM May 14 Graduate Commencement Ceremonies May 16 Commencement May 17 Also available at http://www.uri.edu/es/calexams/academiccalendar.html (without the CSC 200 specific information)

Academic Honesty All work must be the student's own creation. Any sources from which the student has taken information must be properly documented, using the MLA or an equivalent style of documentation. Any instance of academic dishonesty will immediately be reported to the Dean of the student's college. A good rule of thumb is, "When in doubt, document it." Here is an excerpt taken directly form the URI Student Handbook, 2006 2008, pages 9 10. 1.4 Academic Honesty. Students are expected to be honest in all academic work. A student s name on any written work including assignments, lab reports, internship reports, papers, or examinations, shall be regarded as assurance that the work is the result of the student s own thought and study. Work should be stated in the student s own words and produced without assistance or properly attributed to its source. When students are authorized to work jointly, group effort must be indicated on the work submitted. Most academic work builds on the contributions of others. Students have an obligation to know how to quote, paraphrase, summarize, or reference the work of others with integrity. A source need not be given for common knowledge within a discipline. Students should seek guidance from instructors about the preferred citation style for each course. It is the student s responsibility to become familiar with that style and utilize it in their work for that course. While intent or negligence may affect the seriousness of the sanction, the following examples of academic dishonesty apply regardless. Using story material, wording or dialog taken from published work, motion pictures, radio, television, lectures, websites or similar sources without appropriate quotation marks, citation or footnote reference Claiming disproportionate credit for work not done independently Submitting work without acknowledging aid received or claiming disproportionate credit for work done jointly Unauthorized possession or access to exams Unauthorized communication during exams Unauthorized use of another s work or preparing work for another student Taking an exam for another student Altering or attempting to alter grades The use of notes or electronic devices such as calculators, computers, or cell phones to gain an unauthorized advantage during exams Fabricating or falsifying facts, data or references Facilitating or aiding another s academic dishonesty Submitting the same paper for more than one course without prior approval from the

instructors. 1.5 Procedures. The following procedures apply when there is an allegation of academic dishonesty. a. The instructor may fail the student for the assignment, sends written notice to the instructor s dean, the student s academic dean and dean of students. The dean of students notifies the student in writing that this notification has been received. The student may appeal the matter to the instructor s dean and the decision by that dean shall be expeditious and final. b. The instructor may recommend to the instructor s dean that the student fail the course. The student or instructor may appeal the dean s decision to the Provost and Vice President for Academic Affairs whose decision on the appeal shall be final. c. Disciplinary action on an allegation of academic dishonesty may be requested by the student s dean, the instructor s dean or by the instructor with a statement of position from the instructor s dean. This request may be made in lieu of or in addition to a grade adjustment. d. Students accused of academic dishonesty within the drop period may be denied the opportunity to drop the course. This requires permission from the instructor s academic dean. If the accusation is not upheld in an appeal, the student will be given the same options available before the end of the drop period without penalty. 1.6 Records. A cumulative file will be maintained in the Office of Student Life. The Dean of Students shall notify the student s dean of repeated infractions and may initiate conduct action against the student. Final thoughts During CSC 200, students will respect each other, the teaching assistant, and the instructors, and that level of respect will be returned in kind. Your teaching assistant and your instructors will work hard for you all semester, and will devote a considerable amount of their time to office hours specifically designed to provide extra help and insight with difficult concepts. They are a valuable resource, and please feel free to take advantage of what they have to offer. While CSC 200 is a course designed for students majoring in other sciences or in engineering, we won't hold that against them. Students will be treated as computer scientists and professionals. While it may not be reasonable to expect elegant code or cheeky algorithms, students will be held accountable for high levels of critical thinking, accurate dissection of a problem into smaller subproblems, and a clean, efficient, well reasoned solution, implemented in C++. And, oh yeah, we are going to have fun!