0% found this document useful (0 votes)
396 views7 pages

CSE116 Spring 2017 Syllabus

This document is a syllabus for CSE 116/504 Introduction to Computer Science for Majors II, a course taught in Spring 2017. It provides information about the instructor, teaching assistants, course details including credits, prerequisites, and learning outcomes. Students will learn object-oriented programming concepts like encapsulation, polymorphism, and inheritance using Java. They will implement data structures like linked lists, binary trees, stacks and queues. Algorithm analysis and complexity will be introduced. Students will complete a team software project using development tools and documentation. The course follows recommendations to cover topics in data structures, recursion, event-driven programming, algorithm analysis, algorithms, declarations and types, abstraction mechanisms, object-oriented programming, GUIs, software design

Uploaded by

BlakeHurlburt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
396 views7 pages

CSE116 Spring 2017 Syllabus

This document is a syllabus for CSE 116/504 Introduction to Computer Science for Majors II, a course taught in Spring 2017. It provides information about the instructor, teaching assistants, course details including credits, prerequisites, and learning outcomes. Students will learn object-oriented programming concepts like encapsulation, polymorphism, and inheritance using Java. They will implement data structures like linked lists, binary trees, stacks and queues. Algorithm analysis and complexity will be introduced. Students will complete a team software project using development tools and documentation. The course follows recommendations to cover topics in data structures, recursion, event-driven programming, algorithm analysis, algorithms, declarations and types, abstraction mechanisms, object-oriented programming, GUIs, software design

Uploaded by

BlakeHurlburt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

University at Buffalo
Department of Computer Science & Engineering
338 Davis Hall (716) 645-4736

Syllabus
Please read this sheet carefully, and save it for future reference.
Instructor
Name Office Phone Email Office hours
Monday 8:30 AM 11:00 AM
Matthew Hertz, Ph.D. 338L Davis 645-4736 mhertz@buffalo.edu Friday 2:00 PM 3:30 PM
OR by appointment

Teaching Assistants
See course website.

Course Information
Credit hours:
CSE 116 Introduction to Computer Science for Majors II 4 credits
CSE 504 Computer Science for Non-Majors II 3 credits

Course Website: www.cse.buffalo.edu/~mhertz/courses/cse116

Course Description
This course is a continuation of CSE115/503, in which heavy emphasis is placed on abstract data types (ADTs) and object-
oriented methodology. You will be expected not only to understand abstract data types, but also how to design and implement
robust ADTs using a modern object-oriented programming language (Java). Topics such as encapsulation, polymorphism,
interfaces, inheritance and composition will be emphasized. Essential topics to be integrated in this framework include the use
of recursion, references, linked structures including linked lists, binary trees, stacks, queues, and other advanced data structures
and algorithms, including advanced searching and sorting algorithms. The analysis of algorithm complexity (O-notation) will be
introduced.

In the course of working on a team software project you will be introduced to a software development methodology, select
software development tools, software documentation and teamwork.

The course website contains a detailed, day-by-day schedule of topics to be covered.

Prerequisites
You must have passed CSE115 (or CSE503) with a minimum grade of C-, or have an equivalent background and receive
permission from the instructor.

Textbook and Materials


This could uses Top Hat to include interactive questions during the lectures. Students are required to have an active Top Hat
account and to bring a laptop, tablet, cell phone, or Top Hat device to each lecture. For more information see:
http://www.tophat.com

Assigned readings include occasional webpages (links found on the course website) and from the required textbook:
William J. Collins. 2011. Data Structures and the Java Collections Framework (3rd ed), John Wiley & Sons. (ISBN: 978-0-470-
48267-4).
You may find the following books useful as well. They are not required.
Cay Horstmann. 2015. Core Java for the Impatient, Addison-Wesley Professional. (ISBN-13: 978-0321996329)

Additional reading material may be assigned during the course, and will be announced in lecture.
1
CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

Student Learning Outcomes


This course follows recommendations of ACMs CC2001 curriculum document for a second semester introductory course,
covering topics from these knowledge units: PF3 Fundamental data structures, PF4 Recursion, PF5 Event-driven programming,
AL1 Basic algorithmic analysis, AL3 Fundamental computing algorithms, PL4 Declarations and types, PL5 Abstraction
mechanisms, PL6 Object-oriented programming, HC2 Building a simple graphical user interface, SE1 Software design, SE2 Using
APIs, and SE3 Software tools and environments.

This course is required of all computer engineering BS students and addresses the following student outcomes of the BS
Computer Engineering program:
(CEN-a) An ability to apply knowledge of mathematics, probability and statistics, computer science and electrical engineering as
it applies to the fields of computer software and hardware
(CEN-h) The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental,
and societal context.
(CEN-k) An ability to use the techniques, skills, and modern hardware and software engineering tools necessary for computer
engineering practice.

This course is required of all computer science BS students and addresses the following student outcomes of the BS Computer
Science program:
(CS-a) An ability to apply knowledge of computing and mathematics appropriate to the discipline.
(CS-d) An ability to function effectively on teams to accomplish a common goal.
(CS-c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired
needs.
(CS-i) An ability to use current techniques, skills, and tools necessary for computing practice.

Student Learning Outcomes mapping


In the following, fundamental data structures are taken to include linked and array-based lists, stacks, queues and various kinds
of trees, especially binary search trees.
CEN-a

CEN-h

CEN-k
Upon successful completion of this course a student will be able Assessment
CS-a

CS-d
CS-c

CS-i
to Instruments
HW, Project,
demonstrate the operation of fundamental data structures
Exams
implement fundamental data structures in Java Project
Project,
write unit tests from informal specifications
Exams
execute unit tests using the JUnit unit testing framework HW, Project
employ a versioning tool (git) to manage program files for
Project
teamwork

use an integrated development environment (Eclipse JDT) to


HW, Project
perform typical program editing and navigation tasks

define the O (big-Oh) notation for describing an algorithms


Exams
resource (space or time) usage
analyze the performance of simple operations on fundamental
Exams
data structures
choose an appropriate fundamental data structure for a given Project,

computational task Exams
make appropriate use of existing (API library) code in solving a
HW, Project
computational problem
develop a sound object-oriented design for moderately sized
Project
program

2
CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

Computing Resources
You will be provided with a CSE undergraduate computing account. You may use the undergraduate lab facilities in Baldy 21.
These facilities are available for use as listed on the course website. They are on card-access - use your UB card to open the
door. For your own safety, and to protect the equipment in the lab, do not open or hold the door open in order to allow other
people to gain entry to the lab. All students authorized to use the lab have card access.

You are expected to become proficient at using the machines in the lab, the Linux operating system, the Java compiler as
integrated with the Eclipse IDE, and whatever other software development tools the course requires you to use. Information
about the CSE computing environment can be found at: https://wiki.cse.buffalo.edu/services/

You are expected to use your UB e-mail account for all communications with course staff. Always include your full and an
informative subject line for your e-mail.

Recitation activities must be submitted through Web-CAT: https://web-cat.cse.buffalo.edu:8443/Web-CAT


Homework activities are submitted to AutoLab: https://autograder.cse.buffalo.edu/auth/users/sign_in

Course Requirements
Lectures
Prior to each lecture, students will usually have assigned readings from the textbook and/or additional webpages. The lectures
will then expand and reinforce this material. A problem based on the material from the readings and lecture will be included on
the weekly homework so students can be certain they understand this material or know when they should seek additional help.
By reviewing the readings, their notes, and the course slides, students should be able to complete each homework problem in
under 15 minutes.

Class attendance is mandatory; this policy discusses enforcement. If you miss a class, you are responsible for talking to your
classmates, TAs, or the instructor to find out what happened. If must miss class for an extended period of time, notify your
instructor as soon as possible, and see your instructor immediately upon your return in order to determine how to catch up. If
you have missed a significant portion of the semester, it may be recommended that you resign from the course.

Recitations
The recitations are an integral part of the course. Recitation sections are held in the computer lab in Baldy 21. The first hour of
almost all of the recitation sections will include a graded assignment. Attendance in all labs is critical.

The recitations often ask you to apply the material that was presented in class over the past week. Applying a new skill is a key
skill in computer science, but also one of the most difficult. Recitations therefore provide an excellent forum to get
individualized attention to your questions. Some material needed for the course project will only be covered in recitations.

Time outside of class


Office hours are another chance for you to get individualized answers to your questions about the course. Both the instructor
and the teaching assistants have scheduled office hours posted on the course website. Office hours are held on a first-come
first-served drop-in basis. No appointment is necessary, but be aware that office hours become increasingly busy as deadlines
or exams approach. Plan your use of office hours accordingly. Meetings outside of planned office hours are possible, but f you
want to meet outside of planned office hours,

Individual appointments may be arranged, if needed, as schedules allow.

New York State Board of Education regulations specify for every hour of time spent in lecture or recitation, students are
expected to spend 2 -3 hours on work outside of class. This means that you should expect to spend 8 12 hours each week on
readings, homework, projects, and studying.

3
CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

Grading Policy
Each students grade is computed from a weighted average of the following items:
Examinations 50%
Homework Problems 15%
Adult Learning Questions 10%
Recitation Activities 15%
Course Project 10%
If necessary, the instructor may revise how the final grade will be calculated. In this situation, any changes will be sent via e-mail
to each students UB e-mail account. Each item within the course grade is described below.

The final letter grade is based upon the following cutoffs:


93+ A
90-92 A-
87-89 B+
83-86 B
80-82 B-
77-79 C+
73-76 C
70-72 C-
67-69 D+
60-66 D
0-59 F
If necessary, the instructor may revise these cutoffs downward.

Examinations (50% of total course grade)


This class will include two midterm exams. These midterms will be held outside of regularly scheduled lectures. Students will
need to show a valid photo ID (preferably their UB Card) to be allowed into each midterm. The tests are scheduled for:
Midterm #1 - Tuesday 3/7 from 8:30PM 9:30PM in NSC 201/215/225
Midterm #2 - Tuesday 4/25 from 8:30PM 9:30PM in NSC 201/215/225
Room assignments and the exact times of these midterms will be announced on the course website and in an e-mail sent to
each students UB account prior to each test. Each midterm examination is worth 12.5% of your final course grade.

The comprehensive final examination will be given during the final exam period. The final exam is worth 25% of your final
course grade. The schedule for this examination is done by the university. It is YOUR RESPONSIBILITY to check the HUB for the
date, time and place of the final exam and exam times can move, so you plan to be available for the entire examination
period. To find your examination schedule, see:
http://blogs.advising.buffalo.edu/beadvised/have-you-checked-your-final-exam-schedule

In accordance with the University Catalog, if you miss an examination because of sickness or similar reasons, you will be
required to notify the instructor in writing and provide a written note from a detailing the period during which you were
medically incapable of taking the exam is required. Notify me as early as possible in writing (e-mail is acceptable); missing an
examination for an expected absence will not be excused unless you received the instructors permission prior to the exam.

An unexcused absence from an examination will result in a grade of 0 for that examination. Make-up examinations are only
allowed for excused absences.

Homework Problems (15% of total course grade)


Students will be assigned a set of homework problems to be completed before the start of the next week. The homework
problems in the set will correlate with lectures the first problem will be on material from the first lecture of the week, the
second problem from the second lecture material, and so on. For the first week of classes the problems will be due on Thursday,
Feb. 9th at 11:59PM; all other problem sets will be due on the following Monday on which classes are held at 11:59AM. Late
submissions will NOT be accepted. While handed out and due as a set, each problem is graded individually. It is expected that
there will be 35 problems assigned over the semester. This components score will be calculated from the (unweighted) average
of the top 33 homework grades each student has earned.

4
CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

Recitation Activities (15% of total course grade)


Nearly every recitation section will include an individual programming activity to be completed by each student. Each weeks
activity will be weighted equally and the average of your scores will be used to calculate your final grade. These programming
activities will be completed in the recitation, individually, and under controlled conditions. They begin at the recitations
scheduled start time and must be submitted by the time specified. Late work is not accepted and arriving late does NOT change
the time at which that weeks activity is due. You must bring a valid photo ID (preferably your UB Card) to each recitation.

In accordance with the University Catalog, if you miss an individual programming assignment because of sickness, you will be
required to notify the instructor and provide a written note from a detailing the period during which you were medically
incapable of completing the assignment. In these cases, see your instructor as soon as you return to class.

If you miss an individual programming assignment without a valid excuse, you will receive a 0 for that assignment. No make-
ups will be available without a valid excuse.

Course Project (10% of total course grade)


This course has a team programming project. This project gives you experience designing and implementing moderately large
piece of software in a team setting. This helps develop your design and development skills, lets you use real-world software
tools, and practice working in a team. All of these skills are important for your future career.

Late project submissions will not be accepted.

While the course project is team-based, it is important for students to have their efforts acknowledged. After each stage of this
project, team members will submit peer- and self-evaluations. The details of these evaluations will be provided later in the
term, but the results of these evaluations will be factored into each students grade for that phase.

Adult Learning Question (10% of final course grade)


Questions will be asked regularly in lecture and students will need to respond using their individual clicker device. Students will
receive 2 points for each correct answer, 1 point for an incorrect answer, and 0 points if no answer is given.

Missed questions cannot be made up, but reflecting the educational nature of these questions, the component will be graded
using 85% of the maximum score. As an example, if there were 50 questions students could earn up to 100 points, but their
score will be calculated by dividing their total points earned by 85 (e.g., 100 * 0.85).

Using another students clicker is a violation of UBs academic integrity policy. Allowing another student to use your clicker is
also an academic integrity policy violation. It is your responsibility to ensure that you bring your clicker to class, that you set it to
the correct channel, and that the batteries have sufficient power.

If you fail either the exam or the recitation activity component of the course,
you will automatically earn a failing grade in the course as a whole.

Incomplete (I) grades


We will follow the UB Undergraduate Catalog Statement on Incomplete Grades, found in the Undergraduate Catalog. Generally,
incomplete (I) grades are not given. However, very rarely, circumstances truly beyond a student's control prevents him or her
from completing work in the course. In such cases the instructor can give a grade of I. The student will be given instructions
and a deadline for completing the work, usually no more than 30 days past the end of the semester. University and department
policy dictate that I grades can be given only if the following conditions are met:
o An Incomplete will only be given for missing a small part of the course.
o An Incomplete will only be given when the student misses work due to circumstances beyond his/her control.
o An Incomplete will only be given when the student is passing the course except for the missed material.
o An Incomplete is to be made up with the original course instructor within the time specified by the appropriate
University regulation (see appropriate document above), and usually within the following semester.
o An Incomplete will not be given to allow the student to informally retake the entire course, and have that grade count
as the grade of the original course.

5
CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

Incompletes cannot be given as a shelter from poor grades. It is your responsibility to make a timely resignation from the
course if you are doing poorly for any reason. The last day to resign the course is Friday, November 11, 2016.

Accessibility Resources
25 Capen Hall, Tel:645-2608, TTY:645-2616, Fax:645-3116 www.buffalo.edu/accessibility
If the Accessibility Resources office has determined that you are eligible for class accommodations, such as recruiting note-
takers, readers, or extended time on exams or assignments, you must provide the course instructor with written documentation
before any accommodation can be provided.

Counseling Center
120 Richmond Quad, Tel:645-2720, Fax:645-2175 ub-counseling.buffalo.edu
The Counseling Center staff is trained to help you deal with a wide range of issues, including how to study effectively and how to
deal with exam-related stress. Services are free and confidential.

Distractions in the Classroom - Behavioral Expectations UB Policy


Classroom "etiquette" expectations include:
o Attending classes and paying attention. Do not ask the instructor in class to go over material you missed by skipping a
class or not concentrating;
o If you must enter a class late, do so quietly and do not disrupt the class by walking between students and the
instructor. Do not leave class unless it is an absolute necessity and then leave by the least disruptive means possible;
o Not talking with other classmates while the instructor or another student is speaking;
o If you have a question or a comment, please raise your hand, rather than starting a conversation about it with your
neighbor;
o Turn off your cell phones, pagers, and other noise making devices. If you need to keep the device on, place it in
silent/vibrate mode so it will not disturb the class;
o Avoid audible and visible signs of restlessness. These are both rude and disruptive to the rest of the class;
o Focus on class material during class time. Sleeping, talking to others, doing work for another class, reading the
newspaper, checking email, and exploring the internet are rude and unacceptable;
o Not packing bookbags or backpacks until the instructor has dismissed class.

6
CSE 116/504 Introduction to Computer Science for Majors II Spring 2017

Academic Integrity
Source: http://www.cse.buffalo.edu/undergrad/policy_academic.php
The academic degrees and the research findings produced by our Department are worth no more than the integrity of the
process by which they are gained. If we do not maintain reliably high standards of ethics and integrity in our work and our
relationships, we have nothing of value to offer one another or to offer the larger community outside this Department, whether
potential employers or fellow scholars.

For this reason, the principles of Academic Integrity have priority over every other consideration in every aspect of our
departmental life, and we will defend these principles vigorously. It is essential that every student be fully aware of these
principles, what the procedures are by which possible violations are investigated and adjudicated, and what the punishments
for these violations are. Wherever they are suspected, potential violations will be investigated and determinations of fact
sought. In short, breaches of Academic Integrity will not be tolerated.

Departmental Statement on Academic Integrity in Coding Assignments and Projects


All academic work must be your own. Plagiarism, defined as copying or receiving materials from a source or sources and
submitting this material as one's own without acknowledging the particular debts to the source (quotations, paraphrases, basic
ideas), or otherwise representing the work of another as one's own, is never allowed. Collaboration, usually evidenced by
unjustifiable similarity, is never permitted in individual assignments. Any submitted academic work may be subject to screening
by software programs designed to detect evidence of plagiarism or collaboration.

It is your responsibility to maintain the security of your computer accounts and your written work. Do not share passwords with
anyone, nor write your password down where it may be seen by others. Do not change permissions to allow others to read your
course directories and files. Do not walk away from a workstation without logging out. These are your responsibilities. In groups
that collaborate inappropriately, it may be impossible to determine who has offered work to others in the group, who has
received work, and who may have inadvertently made their work available to the others by failure to maintain adequate
personal security. In such cases, all will be held equally liable.

Departmental Policy on Violations of Academic Integrity


The CSE Department has a zero-tolerance policy for AI violation.

All AI violations will be reported to the department, school, and university, and recorded.

Even the 1st offense will receive "F" for the course, unless the instructor deems it appropriate to reduce the penalty.
Subsequent violations of AI, in any form and in any other course, will automatically result in an "F" grade, with no exceptions.

Course Policy on Violations of Academic Integrity


Aside from the team project, all work you submit for credit in this class is individual work. All students are expected to
contribute to the team project. Failure to contribute to the team project while claiming credit for it represents a breach of
academic integrity.

Between instructor office hours, UTA office hours, Piazza, e-mail, and reviewing the textbook and slides, students have sufficient
resources to get any questions answered. There is no reason why students would need to violate AI policies and so no
appropriate reason for students to violate AI policies or reductions from the departmental-prescribed penalty.

You might also like