Course Syllabus

Course Information

Course name and number: CPSC 1302K - Computer Science II

Credit Hours: 4

Course Description: This course is the second in a two course sequence designed to introduce students to the fundamental concepts of computer science and programming. It focuses on the design of algorithms to solve problems and the implementation of those algorithms in the programming language Java. Students will learn to manipulate arrays, to implement inheritance and polymorphism, exception handling, and recursive programming.

Required Competencies/Prerequisites: CPSC 1301K with a "C" or better

Course Offering (days/times and room): 10:00 – 11:50 AM Mondays, Wednesdays and Fridays in SCCT 407

Section: 01

Course Registration Number (CRN): 85087

Websites:

The last day to drop without a grade and receive a 100% refund: Friday, August 16, 2024

Deadline to withdraw with a WP (Withdraw Pass):  Monday, October 7, 2024

Instructor Information

Graduate Teaching Assistant (GTA)

  • Name: ?????????????
  • Email: @students.ColumbusState.edu
  • Teaching Assistant (TA)

  • Name: ?????????????
  • Email: @students.ColumbusState.edu
  • Textbooks and Materials

    Required Textbook

    CS Awesome By Barb Ericson and Beryl Hoffman.
    Cost: Free
    An interactive textbook that even allows you to type in code and execute it on the same page as the material. Also, it has useful features like interactive quizzes and tracing of code execution. This textbook covers most of the topics for this class.

    Java, Java, Java: Object-Oriented Problem Solving (2024E Edition) by Ralph Morelli, Ralph Walde, Beryl Hoffman and David Cooper.
    Cost: Free
    Provides a detailed explanation of all of the topics covered in class.

    Other Textbooks

    Think Java
    Cost: Free

    Java for Python Programmers
    Cost: Free
    Provides an interactive environment that allows you to type in code and run them. Also has useful features like interactive quizzes and tracing of code execution.

    Introduction to Programming Using Java (Eighth Edition) by David J. Eck
    Cost: Free

    Java with BlueJ (Parts 1 & 2) by Ron McFadyen
    Cost: Free

    Modules

    1. Orientation
    2. Introduction to Java
    3. Java Objects & Classes
    4. Debugging & User Interfaces
    5. Java Language and Structures
    6. Inheritance & Polymorphism (& Abstract Classes and Interfaces)
    7. Arrays & Generics
    8. Exception Handling
    9. File I/O
    10. Recursion

    Course Learning Outcomes

    1. The students will demonstrate the ability to read moderately complex programs written in a specific programming language and understand what these programs do.
    2. The students will demonstrate the ability to design algorithms utilizing the principles of object-oriented programming (classes, encapsulation, inheritance mechanisms, polymorphism) to solve moderately complex problems.
    3. The students will demonstrate the ability to design algorithms utilizing some principles of programming (exception handling and recursive programming) to solve moderately complex problems.
    4. The students will demonstrate the ability to write moderately complex programs in a specific programming language to implement these algorithms.
    5. The students will demonstrate the ability to follow specified style guidelines in writing programs, and understand how the guidelines enhance readability and promote correctness in programs.
    6. The students will demonstrate the ability to edit, compile, debug and run programs in a specific programming language.

    Activity Expectations and Assignment Requirements

    Attendance

    Attendance is required by the university and will be recorded at the beginning of each class. It is the student's responsibility to independently cover any materials missed. Makeup quizzes or exams are generally not given, so please make sure you are present for all quizzes and exams.

    I expect each student to be in attendance for each class in-person. Attendance will be calculated by your arrival and duration in class. It is your responsibility to make sure your attendance gets recorded correctly for every class meeting. If you can not make a class, please inform me and get the relevant materials from a classmate. For this course, attendance applies to both lecture and lab (the first and second meeting times each day).

    Students that do not attend both of the first two lectures may be dropped from the course. For this course, excessive absences (the point at which you can be dropped from the course and assigned a WF (Withdrawal Failing)) is defined as missing the equivalent of two or more weeks of classes. Refer to the CSU Catalog (https://catalog.columbusstate.edu/academic-regulations/undergraduate-academic-regulations/) for more information on class attendance and withdrawal.

    Computers are permitted in lecture for note taking and completing exercises. Other activities such as web surfing, stock trading, and social networking are inappropriate. Not only do they distract you but also others.

    Attendance Bonus: Research shows a strong positive correlation between attending class and a good grade in that class. To make that correlation even more positive, the following attendance bonus is offered. If a student attends each class, then their overall course grade will be increased by 1%. If a student only misses the equivalent of one class, then 0.67% will be added; if a student only misses the equivalent of two classes, then 0.33% will be added. No bonus will be applied for students missing the equivalent of three or more classes.
    Note: University events with required attendance will not penalize your attendance bonus.

    AI Policy

    Students are not allowed to use Generative AI tools like ChatGPT or Microsoft CoPilot on graded assignments. All submitted work must be produced by the students themselves. Use of a Generative AI tool to complete a graded assignment is considered an act of academic dishonesty. Students may use Generative AI tools as a study tool in this course. However, they should be aware that these AI tools may not always be reliable.

    Practice Assignments

    You have the opportunity to complete several practice assignments this semester to help you learn and retain the techniques that you will learn.

    Code submitted to codePost.io must be compatible with Java 8.

    Practice Assignment Late Policy

    For the practice assignments hosted on codePost.io, you are given a week of grace (no penalty) after which you can submit an assignment late for reduced points (half off each week that it's late). For the practice assignments hosted on CodeWorkout, you have one week after an assignment is due to turn it.

    Projects

    There will be about 4-6 projects. Projects must be written in Java. They are due at 10:00 PM Eastern Time on the assigned due date (unless indicated otherwise).

    If an assignment contains portions that match other material (not provided by the instructor), zero points will be awarded. Additionally, an Academic Misconduct incident may be reported as well.
    Students missing two or more projects will receive an F or FA in this course. It is recommended that you regularly keep a copy of your projects on a second device.

    Code submitted to codePost.io must be compatible with Java 8.

    Project Late Policy

    A total of at most 4 late days will be granted for the entire semester for projects (and only for projects). (Sunday and Monday are counted as 1 day late.) For example, if Project 2 is turned in two days late and Project 3 is also turned in two days late, then all of the late days for the semester have been used. Project late days are automatically applied based on when you submit. After the late days are exhausted, projects will be reduced by 20% per day late (again counting Sunday and Monday as 1 day).

    Exams

    There will be two exams during the regular semester. They will be proctored using Respondus LockDown Browser. It is known to not work with the following devices:

    Final Exam

    The final exam time, Wednesday, December 4, 2024, 10:45 AM – 12:45 PM, will be used for presentations of the culminating projects.

    Grading

    Grading category weights:
    Pie chart depicting: Quizzes 20%, Practice Assignments 15%, Projects 25%, Exams (15% each) 30%, We Solve It! Project 10%
    Each of the grading categories is capped at 100%.

    Course letter grades are determined by the final course average according to the following chart:
    Course Grade Calculation
    % Range Course
    Grade
    90 – 100 A
    80 – 89 B
    70 – 79 C
    60 – 69 D
    <60 F

    Expectations

    WHAT YOU CAN EXPECT FROM ME

    WHAT IS EXPECTED FROM YOU

    Information regarding student rights and responsibilities can be found in the CSU Student Handbook.

    As a student in this course, you are responsible to:

    Time Commitment

    The amount of time it will take you to complete the work for the course will depend on many factors, which will vary with each individual. The ACM recommends the following: "As a general guideline, the amount of out-of-class work is approximately three times the in-class time. Thus, a course that is listed as requiring 3 hours typically entails a total of 12 hours (3 in class and 9 outside)." Student in my classes typically spend more time than this guideline. Students will be expected to spend this time outside class reading the book, online materials and other materials; writing solutions to exercises and programming projects. It will be helpful to set aside regular study time when you can work uninterrupted.

    Course Communication

    E-mail

    Tutoring Help

    Computer Science Tutoring

    Tutoring hours are Monday through Thursday, 11:00 AM to 7:00 PM, and Fridays 11:00 AM to 3:00 PM. If you would like to come to tutoring in-person, you may do so in SCCT 450. Tutors are also available online during those same times and on Saturdays 10:00 AM to noon. You can walk into the CS Tutoring lab and see if a tutor is available or you can visit the CougarVIEW course, Computer Science Online Tutoring for details about scheduling appointments. If you have questions about tutoring, please contact stone_jennifer2@columbusstate.edu.

    Please note, a tutor's duty does NOT include doing your work for you. That would be a form of academic dishonesty. Your work is yours to complete. They are here to help when you get stuck, point you in the right direction, point out in the book where you can find the topics, explain a topic better, etc.

    Academic Center for Tutoring (ACT)

    The ACT at CSU offers the following services free for all enrolled CSU students:

    1. Appointment-based one-on-one or small group tutoring in a variety of core courses, writing help in all courses, and assistance with general study skills and online learning skills. Sessions can be online or face-to-face in the center located in Simon Schwob Memorial Library, second floor. Use Accudemia to make an appointment or contact the center for assistance.
    2. Drop-in math lab in the library basement (room 019) that is open for limited hours (see website for exact days/times).
    3. A limited amount of after-hours online tutoring through tutor.com. Access is through your courses in CougarVIEW.
    Visit the ACT website for more information about the ACT and tutor.com: https://www.ColumbusState.edu/academic-center-for-tutoring/. If you have any questions or need help you can email act@ColumbusState.edu or call 706-507-8646.

    Technical Requirements/ Support

    See the CougarVIEW Starter Guide for support with navigating this system.

    Hardware Requirements

    See the System Checker here. (GeorgiaVIEW’s system checker is compatible with CougarVIEW.)

    Software Requirements

    Browser Plugins (.pdf files, QuickTime files, .mp4 files) can be obtained at a browser's website:

    Privacy Policies

    Below are the links to the privacy policies for the tools that we will be using in this course: