CS 110: Introduction to Computer Science

Spring 2018 Course Syllabus

Northern Arizona University • College of Engineering, Forestry & Natural Sciences • School of Informatics, Computing, and Cyber Systems

Course Information

Catalog Description: Introduction to algorithmic thinking and object-oriented programming for students with little or no prior programming experience. Emphasis on graphical programming, object-oriented problem solving, and basic Java concepts.
Broad Topics: Intro to Computer Science, algorithms, object-oriented and structured programming, Alice, Java with Greenfoot, and Python
Prerequisites: None
Corequisites: MAT 125 or better
Skill Level: Introductory
Credit Hours: 3
Meeting Times: (Lecture #3076) Mon Wed 4:00PM - 5:15PM, Engineering Building Room 224
Final Exam: Mon. May 7, 2018, 3:00PM - 5:00PM
Required Text: Dann, Cooper, & Pausch, "Learning to Program with Alice", with CD, 3rd. ed., Pearson. ISBN-10: 0132122472
Class Web Site: http://www.cefns.nau.edu/~pek7/cs110
2nd Web Site: We will use the BbLearn web site for this class to submit some homeworks, provide access to some course material, and post grades.

Instructor Information

Instructor: Patrick Kelley, Lecturer, School of Informatics, Computing, and Cyber Systems
Office Hours:
SICCS Bldg. Rm 116
TBD - will be announced in BbLearn
Other times by appointment.
Email: Patrick.Kelley@nau.edu
Phone: 928.699.7455 (cell - use wisely)
NAU Address: Box 15600
Flagstaff, AZ 86011-5600

Course Description

Computer Science is no more about computers than astronomy is about telescopes.
--Edsger Dijkstra

Computers are - without a doubt - one of the most important, most pervasive, and yet least understood and grossly underutilized inventions of the human race. Their raw power is staggering - they have the ability to perform billions of calculations on billions of numbers per second.

What do you do with that kind of power? You solve problems. Math problems, including physics, chemistry, biology, and astronomy. Data management problems, including data storage, retrieval, and transmission. Analysis problems, including statistics, data mining, projections, and simulations.

Few people know how to take advantage of that computation power directly, instead relying on software that others have written - that computer scientists have written, to be exact. Computer scientists aren't interested in computers per se - we're interested in using computers as tools to solve mathematical, organizational, and analytical problems. Computer scientists are problem solvers.

Being a computer scientist requires thought and imagination. You must be able to comprehend the logical implications of every programming decision, to anticipate what the structure of a data model will be like after every step of a long sequence of operations, and to develop new techniques to solve new problems. These are skills that anyone can learn. Developing and honing these skills is an important part of becoming a Computer Scientist.

Course Purpose

This course exposes you to the modern object-oriented programming languages of today and teaches you how to use them. At the same time it cultivates the critical thinking skills that can be used to understand and solve problems of all kinds. All of this is set in a context of digital animation, gaming, and simulation.

Learning Outcomes

By the end of the semester you should be able to:

Liberal Studies

The mission of the Liberal Studies Program at Northern Arizona University is to prepare students to live responsible, productive, and creative lives as citizens of a dramatically changing world. To accomplish the mission of Liberal Studies, Northern Arizona University provides a program that challenges students to gain a deeper understanding of the natural environment and the world's peoples, to explore the traditions and legacies that have created the dynamics and tensions that shape the world, to examine their potential contributions to society, and thus to better determine their own places in that world.

CS 110 supports this mission by helping you:

CS 110 is a course in the Science Distribution Block and supports the intent of that block by:

Through the program students acquire a broad range of knowledge and develop essential skills for professional success and life beyond graduation. In addition to discipline-specific skills, this course will emphasize critical thinking, an essential skill defined in the University's Liberal Studies Program. By completing all the coursework in the class, you will meet all three learning outcomes specifically linked to critical thinking:

First Year Learning Initiative

This course is certified by the NAU First Year Learning Initiative team. FYLI is focussed on courses that have a high proportion of first-year students to enable student success. Studies have shown that working with a college instructor to learn how to learn the material will help you be successful in your classes.

Student success is a joint responsibility. I am here to facilitate your success, but you need to come to class and do the work. Below is a list of what is required to be successful in this class.

Habits of Highly Successful Students

  1. Attend class
  2. Listen
  3. Read the book
  4. Ask questions
  5. Get help when you need it
  6. Make friends with someone in class
  7. Do not miss assignments
  8. Manage your time
  9. Practice what you have learned
  10. Start programming projects early

I am here to facilitate your learning. I show you the way, you learn the material.

Peer TA Info will be available soon. Look for the announcement on BbLearn.

Schedule

Week # (Monday of that week)Topics covered
Week 1 (Jan. 15)Computer concepts
Week 2 (Jan. 22)(No classes Mon. Sep. 4 Labor Day) Algorithmic thinking
Week 3 (Jan. 29)Alice - objects and methods
Week 4 (Feb. 5)Alice - control structures and functions
Week 5 (Feb. 12)Alice - properties and techniques
Test 1 (Wed. Sep. 27, 2017)
Week 6 (Feb. 19)Alice - custom methods
Week 7 (Feb. 26)Alice - object-oriented thinking and object state
Week 8 (Mar. 5)Greenfoot - Getting to know Greenfoot
Week 9 (Mar. 12)Greenfoot - First Greenfoot programs
Week 10 (Mar. 26)Greenfoot - More sophisticated programming
Test 2 (Wed. Nov. 1, 2017)
Week 11 (Apr. 2)Greenfoot - Interacting objects (Veterans Day observed Fri Nov. 10)
Week 12 (Apr. 9)Python - Introduction
Week 13 (Apr. 16)Python - Input, Processing, Output (Thanksgiving break Nov. 23-24)
Week 14 (Apr. 23)Python - Functions
Week 15 (Apr. 30)(Last CS110 class is Wed. Dec. 6) Course review and wrap-up. Reading week.
Finals Week (starts May. 7) Final Exam (Mon. May. 7, 2017 3:00PM - 5:00PM)

Assessment and Grading System

The coursework includes the following assignments and tests:

Your class grade is based on the standard scale of points earned: 90%=A, 80%=B, 70%=C, 60%=D, below 60%=F. No grades are curved or dropped, though there are opportunities for extra credit. Projects are individual effort unless stated otherwise. Attendance (see Attendance Policy below) will impact your grade.

Assignments are due on the posted due date. Graded tests are handed back during class. Review the grading comments in BbLearn for any feedback on your work.

Extra Credit

There will be a number of extra credit possibilities that involve doing extra work on assignments. Besides that, you can also get +4 points on any homeowork or project by turning it in early one class day prior to the due date (except for Homework 0).

Late Policy

Project and homework assignments are accepted with a 10% late penalty per school day, i.e. 50% penalty may be imposed for work one week late and 100% penalty for work submitted over two weeks late.

If you miss a test or know you will miss a test, discuss the matter with me as soon as possible.

Communication with professor: PLEASE include "CS110" in your email

Outside of class, please contact Prof. Jacobs by attending an office hour or via regular email: steven.jacobs (at) nau.edu (not BbLearn email) for any questions, e.g. requesting an excused absence, assignment content, or your status in the class. Please include "CS110" in body or subject of the email message.

Attendance & Absentee Point Reductions

Regular attendance is expected. Attendance is taken. Don't be late, and don't leave until class is dismissed. While class attendance is expected, please be cautious about attending class if you are feeling ill. Please inform me by email if you are feeling unwell; if you are experiencing flu-like symptoms, you should not attend class; please take precautions not to infect others, and seek medical attention if your symptoms worsen. Remember, unless you are ill or have a family emergency, it is unwise to miss class. Recall that absences do not include institutionally documented and approved absences. Besides illness, absences are also permitted other medical reasons, or family matters, if discussed in advance of the missed class. If attendance is poor, I will use my judgment at the end of the semester to drop one letter grade for poor attendance.

Make-up exams for excused absences will contain different content. Students taking an exam at Disability Resources (DR) must give the instructor and DR one-week notice prior to the exam date.

Failed Final Policy

If you score less than 50% on the final exam, your final class grade will be reduced by one letter grade.

Lectures and the Book

The lecture topics follow the same general outline as the book. However, the lecture complements the book rather than being a mirror of it. If you only read the book or only pay attention to the lecture you're likely to end up missing some key concepts. To get the most from the class, read each chapter before we discuss the corresponding topic in the lecture, then use the lecture as an opportunity to reconsider the key points of the material and ask questions on anything you're confused on.

Emergency Textbook Loan Program: To help students acquire the materials they need to be successful in class, NAU has partnered with Follett to create the Emergency Textbook Loan program. The program is administered by the LEADS Center. The program assists students with unmet financial need in obtaining required textbook(s) and other materials for courses. Students must apply and meet eligibility criteria before textbooks are purchased on their behalf. Textbooks must be returned at the end of the term in which the textbooks were loaned.

More information can be found online: http://nau.edu/leads-center/

Electronic Devices and Recording

Feel free to bring your laptops and SmartPhones, take electronic notes, or try things out as we talk about them during lecture. Note that updating your Facebook page does not count. During exams, no electronic device use is allowed; this includes music players with headphones. Also, please be courteous to your classmates and me by silencing your cell phones. I reserve the right to ask you to stop using any device if it is bothersome or distracting to the class.

Please do not record (either audio or visually) class lectures or discussions without first obtaining permission to do so from your instructor or (if appropriate) from Disability Resources.

Plagiarism and Cheating

Students are to work independently and without consultation with other students unless the assignment specifically states that you may collaborate. Grades are a way to motivate students and to evaluate students' mastery of a subject and their ability to get work done. The grades you get are not themselves truly important, but instead are representative of your knowledge, capabilities, and work ethic, and those are the things that matter.

If you plagiarize source code, fabricate results, make fraudulent claims, or attempt to cheat in any way, you are misrepresenting yourself, your level of understanding, your capabilities, and your ability to accomplish things. It is dishonest and unethical.

Anyone who plagiarizes, copies, fabricates, or cheats will at the least receive a zero on that assignment or test.

Consulting with others and using their advice on projects is fine. However, the work you submit should be your own work that you thoroughly understand and are entirely responsible for.

Pre-requisites and dropping the course

If you have not completed the prerequisites for a course as stated in the academic catalog or if you are absent from class during the first week, you may be administratively dropped from the course before the twenty-first day of the term. Do not rely on your instructor to drop you from the courses that you want to drop. You are responsible for changing your own course schedule.

Web Page

Most assignments and handouts will only be available on the class web page at http://www.cefns.nau.edu/~smj93/cs110 - they will not be handed out in class. Projects and homework will be posted at least a week before they're due - usually the next project or homework assignment will be posted on the same day that the old assignment is due. Any clarifications, corrections, and announcements will be posted on the web page.

Computer Access

The projects and many of the homework assignments are programming problems requiring a computer to solve. You can use your NAU computer account to access lab computers and our Unix computer remotely.

We will not be spending any class time in the computer lab. You are responsible for going to the lab on your own time or working from home to complete the assignments. You can use the general lab in room 106, the PC lab in room 317, the computers in the building's Internet Cafe, or any of the various PC labs around campus.

The Engineering Building's computer lab hours are posted in the building. The Internet Cafe has longer hours with keypad access from the outside. If you are an Engineering student you can get a keycode at the Engineering front desk - I'm afraid this option isn't available to non-Engineering majors.

Most of your questions on general computer setup can be answered at the following NAU ITS Academic Computing Help Desk: http://nau.edu/its/services/helpdesk/ or log in to the ITS portal at: http://nau.service-now.com/

University Policies

This course is conducted in accordance with all applicable university policies which can be found at: http://nau.edu/OCLDAA/_Forms/UCC/SyllabusPolicyStmts2-2014/ including Safe Environment, Students with Disabilities, Academic Contact Hours, Academic Integrity, Research Integrity, Sensitive Course Materials, and Classroom Disruption Policy.

The student handbook is also a valuable resource. The undergraduate student handbook is at http://nau.edu/Student-Life/Student-Handbook/

You will find a complete list of university policies here: http://nau.edu/university-policies/

Resources for Student Success

Successful university students take advantage of services and resources designed to boost learning and achievement. NAU recommends that you begin with:

For a full-listing of student success services visit: http://nau.edu/University-College/For-Students--Resources-and-Support/