CS 201 Course Syllabus - Monday, Wednesday

CS 201 Course Syllabus - Monday, Wednesday

Course Number
CS 201
Course Name
Introduction to Programming
Credits
5 Units

Instructor
Keenan Knaur
Email:
kknaur at gmail dot com
Office Hours
Monday / Wednesday: 12:00pm - 2:50pm
Tuesday / Thursday: 12:30pm - 1:00pm
Friday: Immediately after class at 1:10 (by appointment only)

Text Book
Big Java: Early Objects by Cay S. Horstmann ISBN: 978-1-118-43111-5

Course Description
  1. Algorithm development for structured programming and computer programming; designing, coding, debugging, and documenting programs. Laboratory activities on problem analysis and software development
  2. Prerequisites: Math 103: College Algebra and Trigonometry.
  3. This course is required in the BS program
Course Goals
The Student Learning Outcomes that are addressed by the course are:
  • SLO #2. Students will be able to demonstrate fluency in at least one programming language and acquaintance with at least three more.
  • SLO #3. Students will have a strong foundation in the design, analysis, and application of many types of algorithms.
  • SLO #5. Students will have the training to analyze problems and identify and define the computing requirements appropriate to their solutions.
  • SLO #6. Students will have the training to design, implement, and evaluate large software systems working both individually and collaboratively.
  • SLO #7. Students will be able to communicate effectively orally and in writing.
Other outcomes of instruction: At the end of the course students are able to:
  • Divide a problem into its logical set of components
  • Have a good understanding of the basic programming concepts
  • Create simple classes with a few methods
  • Have a good understanding of how a good program design reduces coding and debugging time
  • Design and code mid-level problems
Grading Policy
Participation 5%
Lab 25%
Quiz 25%
Midterm 20%
Final 25%
A: 94 – 100
A-: 90 – 93
B+: 85 – 89
B:  80 – 84*
B-: 75 – 79
C+:  70 – 74
C: 65 – 69**
NC: 0 – 64

*Graduate students are required to get at least a B in this course to pass.
**Undergraduate students are required to get at least a C in this course to pass.
Attendance:
  • Attendance will be taken every session
  • Every student starts with a total of 20 points for the quarter.
  • Students who miss class will lose 1 point for every missed.
  • Students who are late or leave class early without being dismissed will lose half a point per instance.
  • Being late means that you came to class after roll has been called
  • It is YOUR responsibility to make sure you are on my role sheet. If you are late, you will be considered absent until you inform me and I add you to the role sheet. You must talk to me at the end of class otherwise if you leave without talking to me, you will be listed as absent.
Assignments:
  • All assignments will be posted to the course website
  • Assignments MUST be turned in through CSNS
  • I will not accept email submissions
  • Do NOT use .zip, .rar, or any other file compression for your assignments in this class.
  • Assignments MUST be turned in on time
  • The submission button on CSNS will be disabled after >the due date and time.
Late Work:
I do not accept any late work.
Weekly Labs:
  • Lab assignments will be given every week.
  • You may use your own laptop to complete the assignments in class.
  • Lab attendance is mandatory. You will be expected to finish the lab assignments in class. Any unauthorized absence (meaning you didn't notify me with a valid reason) will result in a 0 for the lab assignment.
Weekly Quizzes:
  • Quizzes cannot be made up and must be taken in class.
  • Any missed quizzes will be counted as a 0.
  • Quizzes will be closed-book, closed-note, closed-internet.
  • You must use a classroom computer to take the quiz.
Exams:
  • Taking any exam early is not an option (unless there is an emergency).
  • If you feel you are unable to attend the Final Exam for any reason, please do not take this course. There will be no makeup exams (unless there is an emergency).
  • The Exams will be open book, open notes, limited internet. No email, chat clients, or other media that involves communication with another human being.
  • You must use a classroom computer to take the Exam and you must be sure that your classroom computer works prior to taking the exam.
Brief List of Topics
  • Introduction to Computers, Programs, and Java
  • Elementary Programming
  • Control Statements
  • Algorithms
  • Pseudo code
  • if…else Selection Statement
  • while Repetition Statement
  • Formulating Algorithms
  • Compound Assignment Operators
  • Primitive Types
  • for Repetition Statement
  • do…while Repetition Statement
  • switch Multiple-Selection Statement
  • break and continue Statements
  • Logical Operators
  • Methods
  • Program Modules in Java
  • static Methods, static Fields
  • Declaring and using Methods with Multiple Parameters
  • Argument Promotion and Casting
  • Java API Packages
  • Scope of Declarations
  • Method Overloading
  • Arrays
  • Declaring and Creating Arrays
  • Examples Using Arrays
  • Passing Arrays to Methods
  • Multidimensional Arrays
  • Variable-Length Argument Lists
  • Object Oriented Java
Laboratory Projects
Each week students will complete a 3-hour lab projects on selected topics, except the exam weeks.
Academic Integrity
Cheating will not be tolerated. Cheating on any assignment or exam will be taken seriously. All parties involved will receive a grade of F for the course and are reported to the proper authorities.
ADA Statement
Reasonable accommodation will be provided to any student who is registered with the Office of Students with Disabilities and requests needed accommodation.