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: | Patrick Kelley, Lecturer, School of Informatics, Computing, and Cyber Systems |
Office Hours: |
|
Email: | Patrick.Kelley@nau.edu |
Phone: | 928.699.7455 (cell - use wisely) |
NAU Address: | Box 15600 Flagstaff, AZ 86011-5600 |
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.
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.
By the end of the semester you should be able to:
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:
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
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.
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) |
Homework assignments are pre-lecture preparation. They involve research using book and online resources to answer specific questions. They help to fully prepare you for and familiarize you with lecture topics. Points are awarded for correct and complete answers.
Programming projects are where you put your knowledge you've learned into practice, transitioning from the theoretical to the practical with hands-on experience. Points are awarded based on the completeness and quality of your work and the thoroughness of your project report.
Pre-lecture quizzes are an opportunity for you to learn key terminology and concepts prior to attending a lecture on a particular subject. When you hear the same concept discussed in lecture, this will reinforce the concepts learned in class. Once the quiz score is recorded, you will be given the opportunity to review the correct quiz questions and answers to help study for the tests and final.
The tests and the final are an incentive for you to ensure you fully understand the topics being covered - as well as demonstrating that fact to the instructor. Points are awarded for correct answers. Total points on the tests and final may vary. Regrade requests of test questions (or homework) may include regrade of the entire test or homework. You have 2 weeks to question a grade once it is posted in BbLearn. It is your job to check your grades.
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.
If you miss a test or know you will miss a test, discuss the matter with me as soon as possible.
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.
If you score less than 50% on the final exam, your final class grade will be reduced by one letter grade.
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/
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.
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.
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/
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/
Successful university students take advantage of services and resources designed to boost learning and achievement. NAU recommends that you begin with: