关键词 > CSCI2134
CSCI 2134 – Software Development Fall 2025
发布时间:2025-12-13
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CSCI 2134 – Software Development
Fall 2025
Course Syllabus
Where to get help with CSCI 2134
Your teaching team is here to help you! Don’t hesitate to reach out in the following ways.
• Illness, absence, extensions, administration, personal matters: email csci2134@dal .ca
• Questions about lectures, course content:
1. Ask an in-person question during lectures and labs
2. Post in the General channel of our MS Team
3. Email your favourite TA directly
4. Come to office hours
• Help with assignments, labs, exam study:
1. Ask an in-person question during the labs
2. Post in the Assignment Discussion, Lab Discussion, or Exam Study Help channels of our MS Team
3. Email your favourite TA directly
4. Come to office hours
• Inquiries about marking and feedback:
1. Email directly the TA responsible.
2. If issue remains unresolved, email [email protected]
Student Health, Wellness, and Resources
Taking care of your health is important. As a Dalhousie student, you have access to a wide range of resources to support your health and wellbeing. Students looking to access physical or mental health and wellness services at Dalhousie can go to the Student Health & Wellness Centre in the LeMarchant Building. The team includes: registered nurses, doctors, counsellors and a social worker. Visit https://dal.ca/studenthealth to learn more and book an appointment today.
Students also have access to a variety of online mental health resources, including telephone/texting counseling and workshops/training programs. Learn more and access these resources at https://dal.ca/mentalhealth.
Specialized resources are also accessible for various community groups. Click for links.
• Black Student Advising Centre
• Student Accessibility Centre
Important Dates
• September 23: Classes start
• September 30: National Day for Truth and Reconciliation; no classes or labs
• October 7: Last day to add or drop courses
• October 22: Last day to withdraw from a course without a “W”
• October 13: Thanksgiving Day; no classes or labs
• November 10–November 14: Fall Study Break; no classes or labs
• November 20: Last day to withdraw from a course with a “W”
• December 10: Classes follow the Monday schedule
• Test: November 24, 2025.
• Final Exam: TBA in the period of December 11–21.
• Assignment Deadlines: Four assignments due at 11:59PM on Oct. 3, Oct. 24, Nov. 14, Dec. 5.
Course Description
This course presents techniques and methodologies for software development with modern tools. It introduces stu- dents to the software development life cycle and best practices for source code management, testing, debugging, and building. Particular focus will be on building individual skills in the development and testing phases of the life cycle. Students will be expected to work with existing medium-size code-bases that are implemented in different program- ming languages. Students will be exposed to a variety of software tools and will be expected to use them throughout the course.
Prerequisites
Pre-requisite CSCI 1101 or CSCI 1110
Exclusion CSCI 2132
Class Format and Course Communication
• Lectures will be in a hybrid format: hosted in-person and simultaneously streamed live online via MS Teams.
• Labs will be in-person at the locations indicated on Page 1.
• Lecture recordings will be posted on Brightspace. These are intended as supplemental resources. They do not replace in-person or synchronous instruction.
• Quizzes will be assigned for each lecture. These quizzes must be completed on Brightspace by the first Sunday following the lecture.
• Students are expected to install and run software on their own computers to complete labs, assignments, quizzes, tests, and the final exam.
• Course announcements will be posted to Brightspace. It is the student’s responsibility to check their Dal e-mail and Brightspace on a daily basis. To access your Dal e-mail account please see: https://www.dal. ca/dept/its/o365/services/email.html
Course Rationale
This is a foundational course on software development. Students are introduced to the software development life cycle, industry standard tools, and best practices for individual source code management, testing, debugging, and building. Students will apply these tools and skills in subsequent courses, co-op internships and industry careers.
Recommended Texts and Resources
• Supplemental text: Code Complete by Steve McConnel, second edition, published by Microsoft Press.
• The lecture slides, videos, and course materials will be posted on the learning management system (Brightspace).
Learning Outcomes
• Differentiate among the phases of software development.
• Explain the concept of a software life-cycle and provide an example, illustrating its phases including the deliv- erables that are produced.
• Explain why the creation of correct program components is important in the production of high-quality software.
• Describe how a contract can be used to specify the behavior of a program component.
• Identify common coding errors that lead to low-quality software and apply strategies for avoiding such errors.
• Trace the execution of a variety of code segments and write summaries of their computations.
• Contribute to a small-team code review focused on component correctness.
• Analyze the extent to which another programmer’s code meets documentation and programming style standards.
• Conduct a personal code review (focused on common coding errors) on a program component using a provided checklist.
• Apply a variety of strategies to the testing and debugging of simple programs.
• Refactor a program by identifying opportunities to apply procedural abstraction.
• Apply consistent documentation and program style standards that contribute to the readability and maintainabil- ity of software.
• Construct, execute, and debug programs using a modern IDE and associated tools such as unit testing tools and visual debuggers.
• Construct and debug programs using the standard libraries available with a chosen programming language.
• Describe how version control can be used to help manage software release management.
• Use version control to manage changes to a medium-size code-base.
Assessment Criteria
1. Quizzes via Brightspace (10%)
• There are 20 Quizzes, one for each lecture. Quizzes are due the first Sunday, 11:59pm, following the associated lecture except Quiz 19 and Quiz 20 due on the last day of classes, December 10, 11:59pm.
• The lowest two quizzes will be dropped.
• Late quizzes will not be accepted. SDAs will not apply to quizzes.
2. Weekly Labs (14%)
• There are 7 graded labs in the course. Lab 0 and Lab 1 are not marked. Labs 2–8 are marked.
• Students are expected to install and run software on their own computer during labs.
• Labs are due the first Sunday, 11:59pm, after the lab occurs.
• Late labs will not be accepted. If a student declaration of absence form is submitted prior to the lab due date via Brightspace (maximum of twice) then the missed lab will be dropped. See the SDA rules for more information.
• Labs need to be submitted electronically using Git.
• No labs marks will be dropped.
3. Assignments (26%)
Assignment Title Value Date Due
1 Preparing Your Dev Environment 2% October 3, 2025
2 Developing Unit Tests 8% October 24, 2025
3 Testing and Debugging 8% November 14, 2025
4 Extending an Existing Code Base 8% December 5, 2024
• Late assignments will not be accepted. If a student declaration of absence form is submitted prior to the assignment due date via Brightspace (maximum of twice) then you will receive a 72 hour extension (weekends are included). See the SDA rules for more information.
• Assignments need to be submitted electronically using Git.
• Coding must follow guidelines outlined by the style guide on Brightspace.
• All submitted code may be evaluated by Moss Software Similarity Detection System to check for plagiarism. If a student does not wish their assignments to be submitted to Moss, contact the instructor.
• No assignment marks will be dropped.
4. Test (15%)
• There will be one test held in class on November 24, 2025.
• The test will be online and administered as a Brightspace quiz. You may bring your laptop and write in the classroom or write at home or elsewhere.
• Tests are “open book”; you may reference the course notes, labs, assignments, or textbook but not the internet or outside assistance.
5. Final Exam (35%)
• Scheduled by the university.
• The Final Exam is cumulative and will cover all material in the course.
• A laptop computer is required for the final exam. It will take the format of a timed lab.
• The Final Exam is “open book”; you may reference the course notes, labs, assignments, or textbook but not the internet or outside assistance.
