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

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 Hours
Instructor Days Hours E-Mail

Mark Young WR 1:30 pm -- 3:30 pm
or by appointment
Mark.Young@smu.ca
Please put CSCI2341 in the subject line
Text
There is no assigned text book for this course. All material is presented in the slides available thur the "Course Notes" link in the navigation bar.

If you would like to buy a text to help you learn the material, I would recommend:

Data Structures & Abstraction with Java
Frank Carrano and Timothy Henry.
That 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 Objectives
To introduce basic data structures, the concept of abstract data types, and algorithmic analysis. We will apply these concepts using the Java programming language.
Topics
I plan to cover the following topics this year:
Tips for Success
There is a lot of material in this course, and it builds from one week to the next. The most important factor for success is keeping on top of things.
Grading Scheme

Component 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 exam 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.

Assignments
Assignments 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.

Recitations
You must be registered in the recitation section for this course. There is only one recitation section this term (A/Monday).

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:

There are twelve recitation meetings for the term, and so it is possible to get up to 24 points in total. Your grade on the recitation component of the course is the number of points you collect (to a maximum of 16) out of 16.

Test & Exam
The midterm test is scheduled for Wednesday, October 21st.
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 ON-LINE during the lecture hours. You will be able to start at 10:00 AM and you must finish by 11:30 AM.

There will be no lecture on the test day. but I will be in the lecture meeting to answer questions from test-takers.

The final exam will be IN-PERSON and ON-PAPER. It 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.
It will cover the entire term's material, with less weight on material covered before the midterm test.
Policy on Extensions
Instead 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:

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.

Policy on Artificial Intelligence
AI tools are going to be a big part of future programming jobs. (In fact, they already are.) But in order to use them effectively you need to be able to understand the code they generate and check it for errors, poor design, and vulnerabilities. In short, you still need to know how to program.

You are encouraged to use AI to help you prepare your assignment and lab submissions. You should review the code the AI provides you with to ensure that

At the end of term there is going to be an in person and on paper final exam. It will be tsting whether you understand the material we've covered this year. You will not have access to AI during that exam. If you have not been using AI to help you learn to program, then you will find that exam incredibly hard.

Academic Integrity
The 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:

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.

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..

Interested in doing a Computing Science degree?
Saint Mary's University offers a B.Sc. with a Major in Computing Science or in Computing Science/Business Administration. We also offer an Honours in Computing Science. See the University Calendar for more details.
Declaration of Major:
Once you've completed at least the first three terms of your degree (approximately 45 credit hours), it's time to declare your major! Please fill out the form at https://www.smu.ca/webfiles/MajorMinorDeclaration.pdf and email it to advisor.science@smu.ca as soon as possible.
Honours in Computing Science:
The Honours program in Computing Science is an excellent option for students seeking to stand out to employers or graduate schools. A common misconception is that the program requires a thesis, but that isn't mandatory. While completing a Research Thesis (CSCI 4500) is highly recommended—especially if you are considering graduate studies—you can instead satisfy the program requirements with alternative upper-level coursework. This flexible pathway lets you dive deeper into advanced computing topics and earn an accredited, standout credential on your terms.
Certificate in Computing and Data Analytics:
The Department of Math and CS offers an undergraduate Certificate in Computing and Data Analytics. The program introduces students to Python programming, database systems, algorithms, machine learning, and data analytics. Students can complete it in 12 months of full-time study or 24 months part-time, either as a standalone credential or alongside another SMU degree.

Through applied projects and work with real-world datasets, students gain practical experience in data analysis and model development. The program prepares graduates for entry-level roles in data analysis, machine learning, and database management. It also equips students with the foundational knowledge needed to pursue further study, including SMU's Master of Science in Computing and Data Analytics (MSc CDA).

CS majors can double-count some major courses for the certificate. Please review the requirements: https://smu-ca-public.courseleaf.com/undergraduate/programs/computing-science/#certificatetext

Science Advisor and Comp Sci Student Advisor:
Once you have declared your major, two key resources that will assist you throughout your degree are:
Career and Experiential Learning:
Saint Mary's University helps students and recent alumni deepen their understanding of themselves, academic paths, and career planning. This is accomplished through professional career counselling, job search skills training, experiential opportunities, and connections with industry and employers. For more information, visit: https://www.smu.ca/cel/
Important Dates:
There are many important dates to note during this term. Please click the link below to view the list of these dates: https://smu-ca-public.courseleaf.com/graduate/calendar-events/
Accessibility
As 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.
Arthur L. Irving Entrepreneurship Centre
The Arthur L. Irving Entrepreneurship Centre is a vibrant community where students discover their passion and purpose. Surrounded by like-minded peers, mentors, alumni and business leaders, students gain the skills, experience and confidence to take chances, test ideas and build connections in a supportive, energetic and "anything is possible" environment.

At the centre, students learn to think like entrepreneurs. Entrepreneurial thinking is not only for those who want to start a business, it's a mindset that fosters creativity, problem-solving, and resiliency, valuable skills in any career path. We believe entrepreneurial thinking can be learned and we teach it.

Students benefit from hands-on training, mentorship, coaching and funding opportunities, including honoraria, awards and wage subsidies, all while engaging with centre staff and a vibrant support community.

Visit their website at https://arthurlirvingentrepreneurshipcentre.ca/ to activate your access to their programs.

Student Counselling
University 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 https://www.smu.ca/counselling/.

See this Mental Health Roadmap for information on what other services are available for students in need.