- Sections
-
|
|
|
| A |
MW |
10:00 am - 11:15 am |
Mark Young |
|
| 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
-
- 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:
- 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
- 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.
-
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.
- 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:
- 0 points: nothing submitted;
the submitted material fails to demonstrate
significant comprehension of the material.
- 1 point: the submitted material demonstrates
a partial command of the material.
- 2 points: the submitted material demonstrates
good command of the material.
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:
-
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.
- 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
- it performs the task required,
- it completes that task using the material covered in class,
- it uses good design principles (as discussed in class),
- it meets all the course style guidelines, and
- you understand how it accomplishes the task,
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:
- 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.
- On certain activities
you will be given permission
to use an AI in preparation of your submission.
In those submission,
and only those submissions,
you will be allowed to submit code written by an AI.
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:
- The Science Advising Office: advisor.science@smu.ca.
- The student advisor (Dr. Yasushi Akiyama) for Computing Science and Computing Science/Business Admin degrees: Yasushi.Akiyama@smu.ca.
- 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.