Download CSE 101 - Computer Science, Stony Brook University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSE101
Introduction to Computers and Information Technology
Semester: Spring 2017
Location/Time:
LAB: TBD/M 11:00 – 12:50
CLASS: TBD/M 9:30 – 10:50
CLASS: TBD/W 9:30 – 10:50
Instructor:
Adam Eisenstadt (Professor Adam)
Office/phone/e-mail: C412/032-626-1217/[email protected]
Office Hours:
TBD and by appointment
Course Number/Credits: CSE 101 / 3 credit hours
Prerequisites: Passing the math placement exam at level 3, or any equivalent math course
I. Course Description:
The purpose of this course is to provide you with an introduction to the central ideas of
computing and computer science by:
1) Learning and practicing the art of computational thinking, and
2) Introducing you to the creative and historical aspects of the field of computer science.
3) Introducing appropriate computing technology as a means for solving computational
problems and exploring creative endeavors.
Major Topics Covered: may include, but are not limited to: history of computers, problem
solving and debugging, types of programming languages, software engineering, operating
systems, and programming concepts using Python.
NOTE: This will be a programming intensive course and you will be required to learn material
on your own to fill-in “gaps” for your final project. The course will require you to learn how to
program through homework assignments, labs, and then demonstrating what you have learned
through the design and development of a Python program term project of 1000+ lines of code.
II. Course Learning Outcomes:
This course has two main objectives/outcomes. The first objective is theoretical/content based;
you will learn the technical/historical aspects of computing and computer science. The second
objective of the class is applied/skill based where you solve computation problems through
hands-on programming with Python. At the end of the course, you should, at the minimum, be
able to:
1)
2)
3)
4)
Use computing tools and techniques to create small and large artifacts.
Use multiple levels of abstraction, models, and simulation in computation.
Use algorithms to develop and create solutions to computational problems.
Discuss major concepts and ideas of computing and computer science.
1
III. Format and Procedures:
Lecture: The course is scheduled to meet three times a week (2 lectures and 1 lab). The
lectures, labs, and all course work are in are English. Attendance is highly suggested for
this class and lab; you will be responsible for all the material covered in the lectures/labs (see
below for Attendance Policy). Please do not be disruptive in class; turn your cell phones off, do
not bring food to class (a beverage is fine), do not talk during the lecture, etc. Finally, while the
lecture is important the best way to learn the material is by “doing” – I suggest that you do
as many problems as you can from the lectures and text in addition to the weekly
assignments and labs.
Help: Some students may find this course challenging, while others may find it rather easy,
especially if they have some programming experience. In either case, let me know if there is
something I can do regarding the organization of this course that would help you learn the
material better. If you need help, have questions, or just want to talk about the class or other
matters please do not hesitate to contact me. You can speak with me after class to arrange an
appointment to meet or during my office hours. You can also contact me by email, this is
preferred to than over the phone.
MOODLE: I have a setup a course page. Here you will be able to download the lectures,
homework and lab assignments and other supporting class material each week. Go to:
http://moodle.eloquor.io/login/index.php and “Log In as a Guest” with password: cse101spring2017
Assignments/Labs/Quizzes: There will be several homework assignments/labs/quizzes (40% of
your grade). Assignments/labs are due on the day you are told in class. Please make sure you
follow the instructions – not following instructions will only make the work much more difficult
for you. Late assignments will not be accepted unless you have a documented illness or have
prior permission. Quizzes will be unannounced and based on assigned readings, lectures,
and labs.
Midterm: There will be an in class midterm (25% of your grade) around the 8th week of the
semester. It may include true/false, multiple choice, and short programming/essay questions.
Final Term Project: The final term project (35% of your grade) will be discussed after the
midterm and will involve the development of a substantially large Python program (1000+ lines
of code) within a small group (2 to 4 students).
IV. Course Requirements:
Attendance: If you miss a class you are responsible for the material presented. Make-ups for
exams/quizzes will only be given if your absence is caused by documented illness or personal
emergency; it is your responsibility to provide a written explanation (including supporting
evidence) to me on the day you return to class.
Texts: The following books are required. Copies of the book will be on reserve in the SUNYKorea library if you do not want to purchase them.
2
(a) Required Text: “Computational Thinking for the Modern Problem Solver”
 Author: David D. Riley, Kenny A. Hunt
 Publisher: Chapman and Hall/CRC 2nd (March 27, 2014)
 Language: English
 ISBN-10: 1466587776
 ISBN-13: 978-1466587779
 Amazon Link: https://www.amazon.com/Computational-Thinking-ModernProblem-Questions/dp/1466587776
(b) Required Text: “Think Python: How to Think Like a Computer Scientist”
 Author: Allen B. Downey
 Publisher: Green Tea Press 2nd Edition, Version 2.2.19
 Language: English
 Think Python 2e is a Free Book. It is available under the Creative Commons
Attribution-NonCommercial 3.0 Unported License, which means that we are
free to copy, distribute, and modify it, as long as we attribute the work and
don’t use it for commercial purposes.
 Download Link: http://greenteapress.com/thinkpython2/thinkpython2.pdf
(c) Additional Material: I may also provide you supplementary readings from other
sources. These will be noted during class and be available on the course page.
V. Grading Policy:
Grades will be calculated as follows and will not be curved:
1. Homework Assignments/Labs/Quizzes: 40%
2. Midterm: 25%
3. Final Term Project: 35%
Again, please note the grades in this class are not curved! Grades will be assigned as follows:
A: 100-93, A-: 92-90,
B+: 89-87, B: 86-83, B-: 82-80,
C+: 79-77, C: 76-73, C-: 72-70,
D+: 69-67, D: 66-65,
F: Below 65
VI. Academic Integrity
Each student in this course is expected to abide by SUNY-Korea’s Code of Academic Integrity.
Do not cheat or plagiarize; any work you/your group submit in this course should be
your/your group’s own work.
CHEATING (치팅) = F IN COURSE!
3
No exceptions! No second chances!
VII. Accommodations for students with disabilities
I am available to discuss appropriate academic accommodations that may be required for
students with disabilities. Requests for academic accommodations are to be made during the first
three weeks of the semester, except for unusual circumstances, so proper arrangements can be
made.
VIII. Tentative Course Topics:
Check the course page for the current week’s class lectures, lab topics, and assignments – this
will be updated by Monday morning of each week.
Week
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Topics
What is Computer Science?/Introduction to Python
Representing Data/Python: Variables, Expressions, and Statements
Python: Functions I/Logic
Solving Problems/Python: Interface Design (case study)
Python: Conditionals and Recursion
Algorithmic Thinking/Python: Functions II
Modeling Solutions/Midterm Review
MIDTERM
Python: Iteration/Python: Strings/Python: Word Play (case study)
Python: Lists/Python: Dictionaries
Python: Tuples/Python: Data Structure Selection (case study)
Python: Files/Python: Classes and Objects/Python: Classes and Functions
Python: Classes and Methods
Software Testing/Python: Inheritance
Limitations of Computation/Final Project Work
Final Project Week
FINAL – TERM PROJECT PRESENTATIONS
4