CSCE 146: Algorithmic Design II

General Information for Fall 2024


Instructor

Dr. J.J. Shepherd 
Office: Horizon II 2215

Email: shephejj@cse.sc.edu

Office Hours: Virtually Via MS Teams

Class Website: http://www.cse.sc.edu/~shephejj/csce146

CSCE Dropbox Link: dropbox.cse.sc.edu

Academic Bulletin Description

Continuation of CSCE 145. Rigorous development of algorithms and computer programs; elementary data structures.

Learning Outcomes

1.       Develop structured, modular algorithms

2.       Implement correct programs in an object-oriented language

3.       Use and implement as classes data structures, such as sets, bags, sequences, stacks, queues, and binary trees

4.       Analyze the time and space complexity of simple algorithms

5.       Apply data abstraction and elementary concepts of object-oriented programming

6.       Implement moderately complex programs using an object-oriented language.

Prerequisite or Corequisite

C or better in CSCE 145
MATH 111, 111i, 112 or 115 or equivalent by math placement test.

Course Description

This course refines and expands concepts found in CSCE 145 by introducing data structures commonly used in algorithms. Some of these data structures include: arrays, linked lists, queues, stacks, binary search trees, heaps, graphs, etc. These structures will be implemented in a variety of modular ways and will be used to create solutions and develop algorithms. Also, the course will introduce a new technique called, “recursion” in order to develop more sophisticated data structures and algorithms. Furthermore, the course will introduce math notations in order to analyze and evaluate time and space complexities of algorithms.

Course Overview

·         This course will be delivered via in-person lectures. Links to all materials will be found at the course’s website.

·         Lectures present the principles of algorithmic design and how to express your designs in the Java programming language. Lectures occur during the scheduled lecture times at the scheduled location. Materials that accompany the lectures are posted to the course’s website regularly.

·         Laboratories present a problem that relates to the materials found in the lectures. These are smaller problems that require the submission of both a programming solution and a written lab report. To best assist with this work, a graduate teaching assistant and an undergraduate teaching assistant hold regular lab meetings each week to review topics previously presented in lecture and answer questions. These occur during the scheduled lab times.

·         Supplemental Instruction (SI) is available to assist you in better understanding the course material. The SI program provides peer-facilitated study sessions led by qualified and trained undergraduate SI leaders who attend classes with you and encourage you to practice and discuss course concepts in sessions. Sessions are open to all students who want to improve their understanding of the material, as well as their grades. SI sessions will focus on the most recent material covered in class. Each SI leader holds three sessions per week to go over homework assignments, prepare for exams, and discuss programming examples. Information about the time and place for supplemental instruction can be found here. You can contact the Student Success Center at (803) 777-0684 if you have questions about SI.

·         The instructor will reply to all feedback in a reasonable amount of time; the same is expected of the students. Specifically,

o   Communication: Responses to email communication and questions will be provided within a day or two. More details can be found in the section labeled, “Email and Communication Expectations”.

o   Grading: Grades for assignments will be returned within 1 week of due date. More details can be found in the section labeled, “Grading”.

Class Website

You are responsible for checking the class website regularly. Announcements and assignments will be posted. The URL is: http://www.cse.sc.edu/~shephejj/csce146

Text

Buell, Duncan A. Data Structures Using Java. Jones & Bartlett Publishers, 2012.

All readings/materials comply with copyright/fair use policies.

Expected Technology

Some prior programming experience is assumed, and experience using the Java programming language is required. Programs are expected to be written in a Java integrated development environment (IDE) like Eclipse, IntelliJ, NetBeans, etc. Also, some assignments require a word processor such as Microsoft Word, OpenOffice Writer, or Google Docs. 

This course requires regular, reliable computer and internet access. Assignments are to be developed on a computer and submitted via the CSCE Dropbox by their designate date and time. The college recommendations for a computer are found here https://www.sc.edu/study/colleges_schools/engineering_and_computing/supportservices/support/

If you have tech-related questions or need help with the software, please contact the Division of Information technology (DoIT) at https://www.uts.sc.edu/support/servicedesk.shtml”https://sc.edu/about/offices_and_divisions/division_of_information_technology/index.php

Attendance Policy

Students are expected to keep track of the course materials regularly, and log into the CSCE Dropbox to submit assignments before the due time.

Face Coverings

Per university policy, face coverings are optional but encouraged and voluntary masking is supported.

Class Meeting Times

Section

Days

Time

Location

ALL

TR

10:05 am-11:20 am

SWGN 1C01

 

Sec

Days

Time

Location

1

F

8:00 AM to 9:40 AM

COL 3008

2

F

8:00 AM to 9:40 AM

COL 3012

3

F

10:00 AM to 11:40 AM

COL 3008

5

F

12:00 PM to 1:40 PM

COL 3008

7

F

2:00 PM to 3:40 PM

COL 3008

8

F

4:00 PM to 5:40 PM

COL 3008

 

 *MTWRF is Monday, Tuesday, Wednesday, Thursday, and Friday respectively

Email and Communication Expectations

·         Before sending an email, check the Frequently Asked Question’s section on the course’s website.

·         All communications are expected to be conducted professionally.

·         The instructor and TA’s check emails regularly during the week from 9:00am till 5:00pm Monday through Friday. Any email sent outside of those stated times may not receive a response until the next day or week.

·         Email responses may take a few days or longer, due to the large volume of students.

·         Communication is assumed to be about the course and its subject matter, and anything outside of the course’s material may not receive a response.

·         Communication that does not follow the above guidelines or are unprofessional may be ignored or reported to the Office of Student Conduct.

Grading

·         Students are expected to know how to use basic computer functionality, which includes but not limited to creating/saving/moving files and folders, downloading files from a website, installing software, navigating websites, compressing/zipping/unzipping files, and uploading files to a website. In addition, students are expected to understand the basics of a file system structure which includes understanding folders, directories, paths, files and file extensions.

·         Students are expected to keep track of all course materials including but not limited to the syllabus, announcements, lectures, assignments, emails, grades, etc. Instructions or requirements that are not followed in these materials may result in points being deducted.

·         All assignments are expected to be uploaded to the CSCE Dropbox before their due date and time. It is strongly encouraged to submit assignments early, and if there are problems then the instructor needs to be made aware immediately.

·         We do not accept late work in this course. Assignments are made available to everyone at the same time and are due at the same time. No credit will be given for late assignments. Exceptions to the late policy may be made on an emergency basis. Furthermore, all absences due to medical, family, or other significant emergencies must be excused by the Ombudsman’s office. All documentation, including but not limited to doctor’s notes, obituaries, etc., must be sent to them and approved before any exception can be made.

·         Make-up work for assignments can be requested before the assignment is due. If there is a known conflict that will prevent submitting work at the assigned time, then the instructor must be informed before the deadline. These requests must be done electronically via email. Only a small fraction of assignments can be made up for any excuse(s), which is limited to exactly 1 Homework, 1 Lab Solution, and 1 Lab Report. Outstanding make-up work must be completed and submitted before any additional make-up work can be issued.

·         Laboratory solutions are short programs that follow concepts presented in lecture.  Students are expected start on these assignments early and ask questions often. The lab solution must be submitted electronically before the indicated time on the day they are due, and they must be done individually.

·         Laboratory reports are due alongside the lab solution.  They are written assignments that consist of a short description of the lab, and then a demonstration of the material.  Also, some supplemental questions may be given for each lab. The lab report must be sent in electronically before the indicated time on the day it is due, and they must be done individually.

·         Homework assignments are larger programs to be written outside of class. They are to be sent in electronically before the indicated time on the day they are due, and they must be done individually.

·         Homework Redo assignments occur infrequently throughout a semester. These assignments allow students to earn back lost points on past assignments – Homework, Lab Solution, and Lab Report. Students are expected to read through the details regarding the assignment and follow the instructions carefully and directly. Submissions that do not follow the instructions will be disqualified and no points will be earned back. Only a few Homework Redo assignments occur throughout the semester, and students are expected to use them carefully and effectively.

·         The final exam is take-home, open-book, and open-notes. This exam is optional and replaces only the lowest homework grade. The exam must be done individually only using authorized materials approved by the instructor. Communication regarding the exam must only be between a student and the instructor or their section’s teaching assistants. The exam’s required work, programming solution and written portion, must be submitted electronically before the indicated time on the day they are due, and no late work will be accepted.

·         All programming assignments (labs solutions, homework, and exam solutions) are to be written in the Java programming language and require the source files (JAVA file extension) to be submitted. All written assignments are to be submitted in a common word processor format (DOC, DOCX, or PDF file extensions).

·         Students are expected to keep track of grades regularly.  Grades are available on the CSCE Dropbox. 

·         Before submitting assignments, students are expected to check their work to ensure quality. For programming solutions, we expect students to test the solution to ensure it both meets the requirements and functions well. Solutions that do not meet requirements or does not function well will have points deducted. For written assignments, the answer must answer the questions fully or points will be deducted.

·         While submitting assignments, students are expected to check to make sure they are uploading their work to the correct location in the CSCE Dropbox. The CSCE Dropbox has the name of each assignment where it must be submitted. Assignments submitted to the wrong locations will have points deducted.

·         Students MUST NOT EVER RESUBMIT OR MODIFY an assignment AFTER its deadline, unless directly told by the instructor. Otherwise, the assignment will be considered LATE and will receive no credit.

·         Regrade requests may only be made within ONE WEEK after the assignment has been graded. These requests must be done electronically via email to the instructor. Regrade requests only apply to previously submitted work and we do not accept additional work after the fact. Multiple, frivolous regrade requests will disqualify future regrade requests.

·         No work or regrade requests can be accepted after the last day of class. If there are grades missing by the last day of class those assignments will automatically be assigned a 0.

·         A grade of Incomplete (“I”) is only given in extreme cases when a student is unable to complete some portion of the assigned course work because of a significant incident. These may include an unanticipated illness, accident, work-related responsibility, family hardship, or verified learning disability. An incomplete will only account for 20% of the overall course grade, and it only applies to work after the reported incident. In addition, a student must be in good grade standing, a “C” or greater, at the time of the incident to qualify.

·         Grades are assigned based on the following criteria:

Letter Grade

Earned Points Percentage

A

90% - 100%

B+

85% - 89%

B

80% - 84%

C+

75% - 79%

C

70% - 74%

D+

65% - 69%

D

60% - 64%

F

0% - 59%

 

Grade Breakdown

Type

Percentage of Overall Grade

Lab Solution Average
(9 at 1.1% each)

10%

Lab Reports Average
(9 at 1.1% each)

10%

Homework Average

(7 at 11.43% each)

80%

Final Exam

11.43%*

 

*Final Exam is optional and replaces a lower, previous homework assignment.

Exam Dates

Final Exam

12/10/2024 by 11:55PM

 

Accommodating Disabilities

Reasonable accommodations are available for students with a documented disability. If you have a disability and may need accommodations to fully participate in this class, contact the Student Disability Resource Center:  803-777-6142, TDD 803-777-6744, email sadrc@mailbox.sc.edu, or stop by LeConte College Room 112A. All accommodations must be approved through the Student Disability Resource Center.   See https://www.sa.sc.edu/sds/.

·         Library Services (http://www.sc.edu/study/libraries_and_collections)

·         Writing Center (http://www.cas.sc.edu/write)

·         Carolina Tech Zone (http://www.sc.edu/technology/techstudents.html)

Honor Code / Cheating

All students must review the Office of Student Conduct and Academic Integrity sanctions.  This information may be found at https://www.sc.edu/about/offices_and_divisions/student_conduct_and_academic_integrity/hearings/case_outcomes/code_of_conduct_sanctions/ more of the following sanctions may be imposed for Academic Integrity or Code of Conduct Violations: 1) Expulsion from the University; 2) Suspension from the University for a period of no less than one semester; and/or Probation.  A combination of the above sanctions may be implemented.

Furthermore, cheating is defined as giving or receiving unauthorized aid on any assignment, test, or project. The only authorized materials to be used on assignments are supplied by the instructor. Offenses will be reported in accordance with the Carolina Community student handbook.

Academic sanctions for this course are as follows. For every offense, the student will be notified, and the evidence will be sent to the Office of Student Conduct and Academic Integrity. Upon confirmation the student will receive a grade of 0 for the assignment for the first offense - that cannot be made up for any reason including exams. Any other confirmed violation(s) will result in an automatic grade of “F”.

***Everything is subject to change***