CSCI 2341 for Winter 2024
Data Structures and Algorithms I
Sections
Section | Days | Hours | Instructor | ||
|
|||||
Lecture | A | MW | 10:00 am - 11:15 am | Mark Young | |
|
|||||
Recitation | RA | M | 11:30 am - 12:45 pm | Mark Young | |
RB | W | 11:30 am - 12:45 pm | Mark Young | ||
Classes are being held remotely, on Zoom via Brightspace. Click the link to attend.
Lectures will be recorded, and recordings will be available thru Brightspace, either in the Zoom section, or as links under course content.
Office HoursInstructor | Days | Hours | ||
|
||||
Mark Young | MW |
3:30 pm -- 4:30 pm or by appointment |
[email protected] Please put CSCI2341 in the subject line |
If you would like to buy a text to help you learn the material, I would recommend:
Data Structures & Abstraction with JavaThat text was used for years in this course, and so you might be able to find a used copy around. Any edition after the fourth should be fine.General ObjectivesTo introduce basic data structures, the concept of abstract data types, and algorithmic analysis. We will apply these concepts using the Java programming language.TopicsI plan to cover the following topics this year:
Frank Carrano and Timothy Henry.
-
Abstract data types (ADTs) and the corresponding Java Collections, including:
- Lists and Sets
- Stacks, Queues and Priority Queues
- Maps/Dictionaries
- Generics in Java
- Recursion
- Algorithmic analysis
- Searching and sorting
- Lambda functions, functional interfaces and method references
- Start early on the assignments. It may be that we haven't covered some parts of the assignment in class yet, but there's always something you can do on it -- and if you pay attention, you'll see there's generally quite a bit you can do.
- Submit assignments early, and submit often. You don't even have to finish it before you submit it. We'll always get just the last version you submit, so any partly-finished files will be replaced by completed ones. And even if you never get it finished, it's better to get partial credit (and I do give substantial partial credit) than to get no credit at all.
- Pay attention in class, and follow along with what I'm doing on your computer. A second computer or display would be helpful!
- Experiment with the concepts we talk about on your own. Programming is like driving -- it takes a lot of practice. Use every oppontunity you get to practice it.
- Familiarize yourself with the Java Collections Framework.
Please complete the form Major-Minor Declaration and email it to [email protected] as soon as possible.
Science Advisor and Program Coordinator: Once you have declared your major, two important resources that will help to guide you through your degree are the Science Advising Office: [email protected] and the program coordinator/student advisor for your degree.
For the Computing Science and Computing Science/Business Admin degrees, the acting program coordinator is Yasushi Akiyama, reachable at [email protected].
Grading SchemeComponent | Weight | Minimum Grade |
---|---|---|
Assignments | 30 | 30% |
Recitation | 10 | 30% |
Midterm Test | 20 | 30% |
Final Test | 30 | 40% |
Better Test | 10 | 50% |
The "Better Test" score is simply the maximum of your midterm test score and your final test score.
Students who score below the "Minimum Grade" in any component will have their course grade adjusted down by the same number of percentage points as they fell below that minimum.
AssignmentsAssignments will be available on the outline page. There will be ten assignments given.Part of each assignment's grade will be based on the presentation of your code. Your code should be easy to read, and in order to make it so, you should follow the style guidelines laid out for the course.
Assignments are to be handed in electronically before midnight at the end of the date specified.
Assignments are due by midnight at the end of Wednesday. Recitation exercises are due at the end of the recitation meeting. The test is during lecture period on Wednesday. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
During each recitation there will be an exercise to help you prepare for the upcoming assignment (or to review some topic that has given students trouble). A link to the exercise will be available during the recitation meeting. Your solution must be submitted by the end of the meeting. Any remaining time can be spent working on any open assignment.
Recitation exercises will be graded based on the following rubric:
- 0 points: it does not compile; or neither activity is complete and correct; or either activity uses methods or controls not covered in csci1226.
- 1 point: one of the two activities is complete and correct; or both activities are complete and correct but the program style is incorrect.
- 2 points: both activities are complete and correct, and the program uses correct style.
There are twelve meetings for each recitation, and so there are 24 points in recitation points available. Your grade on the recitation component of the course is the number of points you collect (to a maximum of 20) out of 20.
Policy on ExtensionsInstead of individual extensions, I offer a three drops policy. That is, a student may skip up to three assignments without penalty. The assignments portion of your course grade will be based on the best seven of ten assignment grades.Requests for individual extensions will be ignored. No late assignments will be accepted; no individual extensions will be given; and no excuses will be accepted for missed assignments.
If for any reason you think the entire class should get an extension, then feel free to ask. The usual reasons for class-wide extensions are:
- the University has been closed due to weather or other unforeseen events.
- the cs server (where assignments are passed in) has been down for a significant time.
- widespread power outages in the Halifax area.
Other reasons will be entertained, and extensions will be granted at my own discretion. If you would like to request a class-wide extension, please get a message to me as soon as you can after the start of the disruption.
Test & ExamThe midterm test is scheduled for Wednesday of the week after break (i.e. February 28th). The actual date may change, but is not expected to. Any such change will be announced in class (if possible) and with a News item on the course Brightspace page (which is automatically emailed to all students registered in the course). The test will be available during the lecture and recitation hours. There will be no lecture on the test day. but I will be in the lecture meeting to answer questions from test-takers.There will be a recitation on test day.
The final test will be scheduled by the Registrar during the exam period. I do not schedule that test, and I cannot give you permission to write it at a different time.
Tests will be held using the Quiz tool on Brightspace.
Academic IntegrityThe University has policies on academic integrity. Those policies are spelled out in the Academic Calendar.They can be found in Section 2 (Academic Regulations, subsection Academic Integrity and Student Responsibility). You can find the page number in the table of contents.You should be familiar with them. They apply not only to this course, but to all courses at SMU.
There is no group-work in this course. Unless stated otherwise, it is expected that all the work you submit is your OWN work. You must compose and type it all by yourself, and not copy any of it from any other source, except:
- We will sometimes provide you with “starter code”. This code can be incorporated entirely into your submission.
- We provide sample code with the lecture notes. Code from those samples can be copied into your work and used as-is or adapted as required.
- Code YOU prepared for an earlier assignment may be copied into one of your later assignments, and used as-is or adapted as required.
- Students may work together to generate pseudocode algorithms (as defined in CSCI 1226). These algorithms must appear in your submitted work as comments in the code, together with a comment indicating all people who worked together to generate that pseudocode.
The student who gives code to another is also guilty of an academic integrity violation, even if it was given with a warning not to copy it.
Students receive zero on any assignment/test that includes an academic integrity violation. Note that a 0 on an assignment will not be dropped as low score. It will be count in full against you, and the next lowest grade will be dropped.
If your submission is singled out in suspicion of an academic integrity violation, the Academic Integrity Officer will get in touch with you to give you a chance to explain what happened. The AIO may decide to drop the matter at that time.
The Registrar will keep a record of your academic integrity violations. The violations will not be part of the public record, but any further action (usually as the result of a second offence) could be.AccessibilityAs part of Saint Mary's University Core Values statement, the University is committed to accessibility, diversity, and the provision of a positive and supportive learning environment through the effective integration of teaching and research. The Fred Smithers Centre establishes individualized support service programs to facilitate the participation of students with physical, medical, and learning disabilities, and provides students with disability accommodation services and supports. Students are encouraged to seek more information by visiting the Centre.Student CounsellingUniversity can be a very stressful time in a person's life. Dealing with heavy work-loads and novel social situations can sometimes get to be more than you can handle on your own. I know. If you need help, the Counselling Centre is located on the 4th floor of the Student Centre and offers daily drop-in sessions and peer support from students trained in mental health. See their web page at smu.ca/counselling.Note that there is an appeal process, so you have recourse if you think your professor and the AIO have been unreasonable. Know your rights..
See this Mental Health Roadmap for information on what other services are available for students in need.