Description
CS163: Java (CS1) No Prior Programming
Computer programming in Java for students without previous programming experience.
Topics include variables, assignment, expressions, operators, booleans, conditionals,
characters and strings, control loops, arrays, objects and classes, file input/output,
interfaces, recursion, lists, and sorting.
CS164: Java (CS1) Prior Programming
Computer programming in Java for students with previous programming experience,
not necessarily in Java. Topics include variables, assignment, expressions, operators,
booleans, conditionals, characters and strings, control loops, arrays, objects and classes,
file input/output, interfaces, recursion, lists, and sorting.
Personnel
- CS163 (Section 001)
- Lecture: 10:00-10:50 am, MWF, Aylesworth C 111
- CS163 (Section 002, 302)
- Lecture: 1:00-1:50 pm, MWF, Glover 130
- Instructor
- Instructor: Sudipto Ghosh
- Email: sudipto.ghosh@colostate.edu
Office Location: COMSC 468
Office Hours:
- Tues/Thurs 9:00 AM - 10:00 AM
- Other times by appointment
- Graduate Teaching Assistants
- Akash Shrestha
- Office Hours: Go to Help Desk
- Email: akashsht
- Undergraduate Teaching Assistants
- Office Hours: By Appointment or go to Help Desk
|
Prerequisites
MATH 124 (Logarithmic and Exponential Functions) with a C or better
Textbooks and Materials
Java Programming (Required):
Introduction to Java Programming (Comprehensive Edition), Daniel Liang (10th or 11th edition)
The course textbook is available through the CSU Bookstore’s Inclusive Access Program in partnership with Unizin Engage. You have immediate access to the online e-text by clicking on the “Unizin Engage” link within the course menu in Canvas. Please note, there is a cost for the e-text. The bookstore will charge your student account for the cost of the e-text after the Add/Drop date. You must “opt-out” of the Unizin Engage e-text before the Add/Drop date to avoid bookstore charges. However, this text is required for the course and the cost savings of the e-text can be substantial. Please look for emails from the bookstore about ‘opting out’ as well as charges to your student account. Once you choose to “opt-out,” you will no longer be allowed to access the e-text in Canvas.
zyBooks (Required):
We are using zyBooks to supplement the Liang textbook. You will get zyBooks through Inclusive Access from the CSU bookstore. Then, proceed as follows:
- Sign up at zyBooks.com
- Enter zyBook code: COLOSTATECS163GhoshFall2018
- Enter the code that the bookstore gave you.
- When it asks for your Student ID, use your eName (also called eid) not your CSUID (hint: if you are entering 9 numbers that is your CSUID. eName is what you use to log in to Canvas and RamWeb.)
- Click Subscribe
Once you have registered you can sign in to the book by browsing to www.zybooks.com. Please register in time to complete the first assignment.
IMPORTANT: As noted in the sign-up steps above, you must put your eName in the "Student ID" field. putting an incorrect eName or putting your CSUID instead will result in no credit for the assignment. TAs will check that this is done correctly in Lab 2, after which it is the student's responsibility to ensure that their eName is entered correctly.
CodingBat (Required):
We are using codingbat to write simple programs to understand concepts in programming and problem solving by getting more practice before trying the assignments. CodingBat does not cost anything to students or the department. Use the following steps to register:
- Click on Create an Account on codingbat.com .
- For your name, only enter your eName. Do not enter your last name and first name. It becomes difficult to match them with our roster because of non standard ways of typing names.
- Enter your email and create a password.
- Once you create an account, click of prefs, and enter the instructor's email address (sudipto.ghosh@colostate.edu) to share your reports with the instructor. Do not use any other email address for sharing.
iClickers (Required):
You are required to purchase an iClicker remote for in-class participation.
iClicker is a response system that allows you to respond to questions we pose during class, and you
will be graded on that feedback and participation. In order to receive this credit, you will need
to register your iClicker remote on Canvas by classtime, August 20, 2018. See the instructions
for registering your iClicker on the resources tab.
Piazza (Required for announcements, but optional for posting questions):
This term we will be using Piazza for class discussion.
The system is highly catered to getting you help fast and
efficiently from classmates, teaching assistants, and the instructor.
Rather than emailing questions to the teaching staff,
I encourage you to post your questions on Piazza.
If you have any problems or feedback for the developers, email
team@piazza.com. Piazza will be accessed via the Module tab on Canvas.
Piazza does not cost anything to students or the department. It allows students to
post questions and get answers about the following topics:
- Java Programming
- Linux Operating System
- Eclipse Development Tools
- Programming Assignments
We expect to post clarifications about assignments as well as answering questions relating
to assignments. Also, we plan on handling regrade requests, look for an announcement on rules
for posting these to Piazza. Please use the existing topics we have created, do not create new ones.
There are a number of things that we prohibit on Piazza, as follows:
- Please do not post any of your assignment code on Piazza.
- No profanity, sexism, racism, or anything in bad taste, of course!
CS163 Schedule
What |
Days |
Time |
Instructor |
Helper |
Where |
Lecture (Sect. 001) |
M W F |
10:00am - 10:50pm |
Sudipto Ghosh |
|
Aylesworth C 111 |
Lecture (Sect. 002/302) |
M W F |
1:00pm - 1:50pm |
Sudipto Ghosh |
|
Glover 130 |
Lab (L01) |
T R |
8:00am - 8:50am |
Ben Gillett |
Dawson Eliasen |
COMSC 215 |
Lab (L02) |
T R |
9:00am - 9:50am |
David Hallstrom |
Dorian Ferrer |
COMSC 215 |
Lab (L03) |
T R |
10:00am - 10:50am |
David Hallstrom |
Aislinn Jeske |
COMSC 215 |
Lab (L04/LN4) |
T R |
11:00am - 11:50am |
John Vanderhoofven |
Dawson Eliasen |
COMSC 215 |
Lab (L05) |
T R |
12:00pm - 12:50pm |
Akash Shrestha |
John Vanderhoofven |
COMSC 215 |
Lab (L06) |
T R |
1:00pm - 1:50pm |
Aislinn Jeske |
Dorian Ferrer |
COMSC 215 |
Lab (L07) |
T R |
2:00pm - 2:50pm |
David Hallstrom |
Isabella Zapata |
COMSC 215 |
Lab (L08) |
T R |
3:00pm - 3:50pm |
Akash Shrestha |
Isabella Zapata |
COMSC 215 |
Lab (L09) |
T R |
4:00pm - 4:50pm |
Aislinn Jeske |
Max Rosoff |
COMSC 215 |
Help Desk
The help desk is a breakout room on the north side of the COMSC 120 lab. Throughout
the day there are lab operators in COMSC 120 that can provide limited help, but during
the hours posted below a teaching assistant from this class is available to help students.
The COMSC 120 lab is open 24/7.
Help Desk Hours
Days |
Time |
Where |
Sun. | 4:00pm- 8:00pm | COMSC 120 |
Mon. | 10:00am- 6:00pm | COMSC 120 |
Tue. | 10:00am- 6:00pm | COMSC 120 |
Wed. | 10:00am- 6:00pm | COMSC 120 |
Thu. | 10:00am- 6:00pm | COMSC 120 |
Fri. | 10:00am- 4:00pm | COMSC 120 |
Grading
The course requires demonstration of a student’s grasp of the concepts on evaluations.
Here is the grading scheme:
Activity |
Weight |
Description |
Assignments |
10% |
Java assignments |
iClicker |
4% |
IClicker responses in class and peer instruction |
CodingBat |
2% |
CodingBat assignments |
zyBooks |
4% |
zyBooks assignments |
Labs |
10% |
Lab attendance and completion |
Programming Quizzes |
10% |
In-Lab programming quizzes |
Midterm 1 |
15% |
First midterm |
Midterm 2 |
15% |
Second midterm |
Midterm 3 |
15% |
Third midterm |
Final Exam |
15% |
Comprehensive exam |
Teaching assistants grade assignments, labs, and quizzes. If you believe you
have been graded unfairly, talk with the help desk (assignments) or your
teaching assistant (labs) first. If you cannot visit help desk, please post
to the grade complaints topic on Piazza.
Grade complaints will be considered
only for two weeks immediately following when the assignment grade appears on Canvas!
-
Assignments will be done individually. As required by the department, we
will check for collaboration using a software tool, so do your own work!
-
iClickers will be used in class in various ways. You may be asked questions (1) to gauge your knowledge of assigned reading, (2) see how well you are understanding the lecture in progress, and (3) even to motivate a new topic. These sessions are held during lectures and can occur at anytime during a lecture. The sessions can be held as part of peer instruction or individual instruction. Be sure to have your iClicker with you.
There will not be any paper quizzes during lectures.
-
CodingBat and zyBooks let you work out small program fragments once you have read about a concept and some examples. These tasks are completed online via their respective websites by specified deadlines.
-
Lab participation is strongly encouraged. A portion of the class
grade comes from successfully finishing the assigned lab work, and our previous
students have indicated that labs are the best part of this class.
-
Programming Quizzes will be taken during lab hours with no additional
aids. They are used to test your understanding of Java topics.
-
Liang is the online textbook to help you get hands-on practice for the Java Programming topics being discussed in class and Lab.
The assignment of letter grades will be made as follows:
Letter Grade |
Points |
A | ≥90% |
B | ≥80% |
C | ≥70% |
D | ≥60% |
F | <60% |
We will
not assign lower grades than shown. However, your average score on exams must
be ≥60% to receive a passing grade (C) in this course.
Early Performance Feedback
This course participates in Early Performance Feedback. This gives students an opportunity
to identify if they might need to make changes in how they are approaching the course before the
drop date. Students with a course average less than 70% after the first exam will receive
information from the campus Collaborative for Student Achievement office about resources to
help them get a passing grade in the course. The instructor and TAs are also available to
talk with any student concerned if they will get a passing grade in the course. Just ask!
Important Dates
Date |
Description |
Location |
First day of class |
Aug 20 |
Normal Classroom |
First day of lab |
Aug 21 |
CSB 215 |
Deadline to add without override |
Aug 26 |
N/A |
Last day to drop |
Sep 5 |
N/A |
First midterm |
Friday of Week 4, Sep 14, 8 AM - 4 PM |
CSB 110 |
Second midterm |
Friday of Week 8, Oct 12, 8 AM - 4 PM |
CSB 110 |
Last day to withdraw |
Oct 15 |
N/A |
Third midterm |
Friday of Week 12, Nov 9, 8 AM - 4 PM |
CSB 110 |
Final Exam (Section 001) |
Tuesday, December 11, 11:50 AM - 1:50 PM |
CSB 110 and 120 |
Final Exam (Section 002/302) |
Wednesday, December 12, 4:10 PM - 6:10 PM |
CSB 110 and 120 |
Midterms will be held in the CS110 lab. Timeslot (50 minute) sign up will be done through Canvas.
Information on how to sign up for a time will be made available in class closer to exam time.
There will be no class on the exam days.
The final exam will be in the Computer Science Building in the 110 and 120 labs. The final exam is comprehensive.
In-Class Participation
All students taking this course are expected to participate actively. This includes asking and
responding to questions. Students are also expected to scan the announcements on the home page
and the progress page every day for updates. If an assignment changes significantly, we are
responsible for sending out an email.