CSCI 162

Syllabus

Instructor: Dr. William Killian

Meeting Times: Varied, Online

Meeting Location: Zoom (Personal Meeting ID: 717 871 4314)

Description

Continuation of CSCI 161 covering advanced computer programming techniques. Emphasis on object-oriented programming, specification, design, elementary data structures, and proper use of programming language and development tools. Abstract data types, classes and objects, recursion, linked lists, queues, stacks and binary trees. Current language used is Java.

Prerequisites

C or better in CSCI 161

Course Outcomes

At the end of this course, a successful student will be able to

  1. design, implement, and test programs of several hundred lines divided among several classes;
  2. use advanced programming techniques including multidimensional arrays, recursion, generic programming, exception handling, inheritance, and interfaces;
  3. implement abstract data types such as lists, stacks, queues, and sets using data structures such as arrays, linked lists, and binary trees;
  4. use a debugger to find and fix errors in a program; and
  5. describe the concepts of intellectual property, copyrights, patents and trade secrets, as well as their application in computing.

Textbook

No textbook is required.

Topics

By Week

  1. Arrays, Classes, Object-Oriented Programming
  2. Object-Oriented Programming, Collections
  3. Collections, Linked Lists
  4. Linked Lists
  5. Linked Lists, Generics, Stacks, Queues
  6. Interfaces, Iterators, Recursion
  7. Recursion
  8. Binary Search Trees
  9. Binary Search Trees, Heaps, Intellectual Property

Assignment Schedule

Name Points Due
Homework 1 10 June 20
Life Matrix 35 June 22
Life Update 50 June 24
Homework 2 10 June 25
Life Object 55 June 26
Statistician 100 June 29
Sequence (Array) 100 July 1
Homework 3 10 July 2
EXAM 1 100 July 3
Sorted List (JUnit) 50 July 8
Homework 4 10 July 9
Sorted List 50 July 10
Homework 5 10 July 16
Sequence (Linked List) 100 July 17
Postfix 100 July 22
Homework 6 10 July 23
EXAM 2 100 July 24
Prefix 60 July 29
Homework 7 10 July 30
Recursion 100 August 5
Homework 8 10 August 6
Binary Search Tree 100 August 12
Homework 9 10 August 13
FINAL EXAM 125 August 14

Course Policies

Responses

I will respond to emails within 24 weekday hours unless an exception is noted through email or D2L. Please note that this means if you email me over the weekend or the night before an exam or assignment submission, I am not guaranteed to respond. Start labs when they are assigned.

Announcements

I will frequently send announcements through email. I will also post new/additional material on the course website. Read over it by the date indicated on the announcement. Under inclement weather, due dates may be pushed back or changed at my discretion, so please pay attention to all announcements.

D2L (Desire2Learn)

I will primarily use D2L as the grade portal for classes. The submission portion will also be leveraged for homework assignments. Lecture material and notes are accessible through the course website (found on my homepage).

Autolab

Autolab will be used for submitting laboratory assignments throughout the semester.

Office Hours

I hold office hours for your benefit. Please do not hesitate to show up to office hours! Office Hours are entirely ad-hoc -- this means that I will be flexible to accommodate your work time.

Grading Policy

I will grade on a ten-point grading scale. I will not round any grades. An 89.51 will be classified as a B+

You must earn at least a 70% average across all exams to earn a C- or higher in the course

You must attempt all examinations and assignments to pass the course.

University Policies

Academic Dishonesty Policy

Copying or extensive collaboration on assignments and/or examinations is not permitted and may result in failure of the course and expulsion from the University. You may discuss approaches to solving a problem, as long as the discussion remains above the level of detail expected for the course. You may also seek aid in resolving compiler messages. However, if you copy a code fragment verbatim, you are likely committing academic dishonesty. If you copy a code fragment and rename variables, you are likely committing academic dishonesty. Obtaining a solution on the Internet or elsewhere and submitting it as your own work is plagiarism and will result in severe disciplinary measures. Be sure you can explain every line of every program you submit. Writing code is no different than writing a paper — if it was not your original idea, then you should not submit it as your own work.

Title IX

Millersville University and its faculty are committed to assuring a safe and productive educational environ- ment for all students. In order to meet this commitment, comply with Title IX of the Education Amendments of 1972, 20 U.S.C. §1681, et seq., and act in accordance with guidance from the Office for Civil Rights, the University requires faculty members to report to the University’s Title IX Coordinator incidents of sexual violence shared by students. The only exceptions to the faculty member’s reporting obligation are when incidents of sexual violence are communicated by a student during a classroom discussion, in a writing assignment for a class, or as part of a University-approved research project. Faculty members are obligated to report to the person designated in the University Protection of Minors policy incidents of sexual violence or any other abuse of a student who was, or is, a child (a person under 18 years of age) when the abuse allegedly occurred. Information regarding the reporting of sexual violence, and the resources that are available to victims of sexual violence, is available at http://www.millersville.edu/sexualviolence/index.php

Counseling Resources

Students sometimes face mental health or drug/alcohol challenges in their academic careers that interfere with their academic performance and goals. Millersville University is a caring community and resources are available to assist students who are dealing with problems. The Counseling Center (717-871-7821) is an important resource for both mental health and substance abuse issues. Additional resources include: Health Services (871-5250), Center for Health Education & Promotion (871- 4141), Campus Ministries, and Learning Services (717-871-5554).

Important Links