Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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