Course Information

Course Title Intensive Fundamentals of Computer Science
Course Number CS 5001
Semester Fall 2017
Lectures Tuesday 6-9pm, 401 Terry Ave, Room 106C
Labs Section A: Wednesday, 2-5pm, 225 Terry Ave, Room 307
Section B: Wednesday, 6-9pm, 225 Terry Ave, Room 307
Prerequisites None

Contact Information

Role Name and Email Address
Instructor Therapon (Theo) Skoteiniotis
Use Piazza
TBD
Instructor Maria Zontak
Use Piazza
TBD
Assistant Jie Lu
Use Piazza
Assistant Susanna Edens
Use Piazza
Assistant Min Dai
Use Piazza
Assistant Irena Kushner
Use Piazza

Office Hours

Instructor's Office Hours

By appointment. Please use Piazza to message us directly and setup an appointment.

Assistants' Office Hours

Day Time Location TAs
Monday 2-4pm WHIDBEY Min Dai, Irena Kushner
Monday 5-6pm Outside ORCAS room Baoheng Ling
Tuesday 2-4pm PEARL Min Dai, Susanna Edens
Wednesday 5-7pm VASHON Jie Lu
Thursday 2-4pm CAMANO Irena Kushner
Friday 10am-12pm VASHON Jie Lu
Friday 2-5pm CAMANO Susanna Edens
Saturday 1-3pm BAINBRIDGE Baoheng Ling

Course Description

This course is an introduction to computing and programming. Its major goal is to introduce students to the principles of systematic problem solving through programming and the basic rules of computation. The course does not assume any prior programming experience. It is therefore suitable for students, majors and non-majors alike, who wish to explore the intellectual ideas of the discipline.


Grading Policy

The class will consists of individual assignments, team assignments and a midterm.

Individual Assignments 37%
Midterm 30%
Final 30%
Instructor's discretion 3%

The final grade for a student is calculated as the weighted average of the preceding list and rounded up to the nearest integer. The mapping to a letter grade uses the following scale

A [95, 100]
A- [90, 94]
B+ [85, 89]
B [80, 84]
B- [75, 79]
C+ [70, 74]
C [65, 69]
C- [60, 64]
D [0, 59]

Extensions

Late assignments will not be accepted unless you have explicit instructions from the instructor. If you are to miss lectures or require an extension for a deadline, ensure you inform the course staff in advance. The earlier we are informed the easier it will be to accommodate your request.


Textbooks

Required

The course will be following the first edition of the book. The second edition (draft) of the book is in progress, and serves as an excellent alternative resource as the two editions focus on the same design principles.

Recommended


Attendance

You are expected to attend all lectures and all code walks.

Missing Lectures

If you have to miss a lecture please inform the course staff. Materials covered for each lecture, readings, tutorials, assignments, are available on the course web page.

Assignment Extensions

Assignment extensions are at the discretion of the instructors. If you would like to discuss a possible extensions talk to the course instructors in advance (minimum of 48 hours).


Academic Honesty

You are expected to read, understand, and follow the University’s policies on Academic Integrity

During assignments you are encouraged to discuss the problem with classmates on piazza or other forums. You are however not allowed to share solutions.

Working Individually

All work submitted for assignments expected to be completed individually must be your own work. You are not allowed to share code. Code that is identical or similar will be penalized and reported to the appropriate University authorities.

Working in Teams

All work submitted for assignments expected to be completed as a team must be the team’s work. You are not allowed to share code with people outside your team or with another team. Code that is identical or similar will be penalized and reported to the appropriate University authorities.


Tips for Success

You cannot learn everything you need to know in lectures or homeworks. You must:

  1. Read the Book (How to Design Programs).

    Try to stay ahead of the game and read material before it is covered in class. If you have questions, write them down. If these questions don't get covered, ask in class or meet with the tutors, lab coordinator, or professor.

  2. Attempt to solve additional problems.

    Try to solve as many exercises as possible as you read sections in the book. If you can't do them, read the material again.

  3. Attend lectures.

    Lectures accentuate the material you should have already read from the book. Take advantage of the extra explanations and examples during the lectures to ensure you comprehend the material. Prepare questions to ask, but also listen to questions asked by your classmates.

  4. Talk to the course staff.

    If the lecture and the notes leave you with questions on the material, see your teacher(s) during office hours or make an appointment. Mark the passages in the book(s) that you do not understand, and prepare questions that express what you do not understand.

  5. Keep up.

    Experience proves that students who fall behind quickly drop out. So, keep up with the readings, tutorials, and the homeworks. Ask for additional problems, if the homeworks failed to make a point.


Diversity/Disability Statements

If you require support during the course due to a disability please ensure that you are already registered with the University’s Disability Center, and contact your course instructors to coordinate any support needed during the course.


Software

The course will be making heavy use of the following software


Helpful Links


Browser Compatibility

This website has been tested with the following browsers