CS_Student-Faye_WebHeader


Your first year with us

We've created a first-year experience that provides you with a great foundation in computer science and problem-solving.

Regardless of your program of choice, you will develop programming skills, explore the foundations of computer science and design, and embark on an exploration of the social and philosophical impacts of computing.


Register for your courses

Registering for courses for the first time can feel overwhelming. We're here to help you determine what courses make the most sense for you.

To make it even easier, we've created some pre-packaged schedules that capture all of the first year required courses and lead to excellent non-overlapping schedules. This means you register for one block of courses and your schedule will automatically include all the necessary classes, labs, and tutorials without a risk over overlapping! 

Create a schedule that works for you

To help you get started in choosing your courses, there are a few things you should consider. Find your program below and let's get started!

Bachelor of Applied Computer Science (BACS)

Do you have prior programming experience?

How do you know if you have enough "prior programming experience"?

  • You received a mark of 80% or greater in CP-12 (Nova Scotia)
  • You received a mark of 80% or greater in a senior high-school computing course that taught a programming language such as ActionScript, C, C++, C# , Java, JavaScript, Perl, PHP, Python, Visual Basic, etc.
  • You have written programs on your own in a programming language such as: ActionScript, C, C++, C#, Java, JavaScript, Perl, PHP, Python, Visual Basic, etc.
  • You can complete this assignment in any programming language of your choice

If any of the above apply to you, we recommend that you either:

  • Create your own schedule following the prior programming experience course selection listed below; or 
  • Choose a course block that includes CSCI 1110 instead of CSCI 1105

Option 1: Register for a block of classes

We've created some pre-packaged schedules - meaning that you register in a block of courses - that includes all your courses, labs, and tutorials with no risk of overlapping.

To register

1. From the Registration screen on DalOnline, choose Block Registration.

2. Select the Term you wish to register for.

  • 2021/2022 Fall
  • 2021/2022 Winter

3. Select the radio button for your program then click on Register at the bottom
    of the page. You can also select Add to worksheet, which will add the CRN's for the
    courses to your Add/Drop page. 

Please remember to register for both terms! We've set the blocks up in pairs for the Fall and Winter term. As an example, if you pick option BACS - Year 1A in the Fall, then the best match in the Winter term will also be option BACS - Year 1A. 

You'll be able to access all BACS options through DalOnline. Examples are listed below:

 

Please note: 

  • Most of the blocks have four courses to allow you to either add an elective of your choice or to take one less course each term during your first year.
  • If you want to make a change later, you can drop or change an individual class.
  • If one of the courses in your chosen course block is full, the course block will no longer work. If this happens, you can use the block as a guide and individually register for each course. As always, please connect with an advisor at undergrad@cs.dal.ca if you need any help.

Option 2: Design your own schedule using our suggestions (Fall 2021 Start)

Based on our experience, we've created suggestions to help you create a schedule that makes sense for you and your interests. Simply choose the commonly-used schedule that best suits you below.

(See above to determine which might be the right option for you)

No prior programming experience

Fall Winter
CSCI 1105: Introduction to Programming CSCI 1110: Introduction to Computer Science
CSCI 1800: Society and Technology before the Age of Automation  CSCI 1801: Society and Technology in the Age of Automation 
CSCI 1120: Introduction to Computer Systems CSCI 1170: Introduction to Web Design and Development
MGMT 1301: Multidisciplinary Management l MGMT 1302: Multidisciplinary Management ll
Free elective Free elective

 

Prior programming experience

Fall Winter
CSCI 1110: Introduction to Computer Science CSCI 1120: Introduction to Computer Systems
CSCI 1800: Society and Technology before the Age of Automation CSCI 1801: Society and Technology in the Age of Automation
CSCI 1170: Introduction to Web Design and Development Free elective
MGMT 1301: Multidisciplinary Management l MGMT 1302: Multidisciplinary Management ll
Free elective Free elective

Option 2: Design your own schedule using our suggestions (Winter 2022 Start)

Based on our experience, we've created suggestions to help you create a schedule that makes sense for you and your interests. Simply choose the commonly-used schedule that best suits you below.

(See above to determine which might be the right option for you)

No prior programming experience

Winter Fall
CSCI 1105: Introduction to Programming CSCI 1110: Introduction to Computer Science
CSCI 1801: Society and Technology in the Age of Automation  CSCI 1800: Society and Technology before the Age of Automation 
CSCI 1120: Introduction to Computer Systems CSCI 1170: Introduction to Web Design and Development
Free elective MGMT 1301: Multidisciplinary Management l
Free elective Free elective

 

Prior programming experience

Winter Fall
CSCI 1110: Introduction to Computer Science CSCI 1120: Introduction to Computer Systems
CSCI 1801: Society and Technology in the Age of Automation  CSCI 1800: Society and Technology before the Age of Automation
CSCI 1170: Introduction to Web Design and Development MGMT 1301: Multidisciplinary Management l
Free elective Free elective
Free elective Free elective

  

Bachelor of Computer Science (BCS)

Do you have prior programming experience?

How do you know if you have enough "prior programming experience"?

  • You received a mark of 80% or greater in CP-12 (Nova Scotia)
  • You received a mark of 80% or greater in a senior high-school computing course that taught a programming language such as ActionScript, C, C++, C# , Java, JavaScript, Perl, PHP, Python, Visual Basic, etc.
  • You have written programs on your own in a programming language such as: ActionScript, C, C++, C#, Java, JavaScript, Perl, PHP, Python, Visual Basic, etc.
  • You can complete this assignment in any programming language of your choice

If any of the above apply to you, we recommend that you either:

  • Create your own schedule following the prior programming experience course selection listed below; or 
  • Choose a course block that includes CSCI 1110 instead of CSCI 1105

Are you interested in advancing in math or math-related fields?

We recommend that our Bachelor of Computer Science students take CSCI 1300 for their calculus requirement.

If, however, you think you are interested in math foundations, are considering taking a math, stats, actuarial science minor, doing a double major with another science discipline,  or even considering a minor in a math-rich discipline such as physics, re recommend you select MATH 1000 in place of CSCI 1300 in your first year schedule.

Option 1: Register for a block of classes

We've created some pre-packaged schedules - meaning that you register in a block of courses - that includes all your courses, labs, and tutorials with no risk of overlapping.

To register

1. From the Registration screen on DalOnline, choose Block Registration.

2. Select the Term you wish to register for.

  • 2021/2022 Fall
  • 2021/2022 Winter

3. Select the radio button for your program then click on Register at the bottom
    of the page. You can also select Add to worksheet, which will add the CRN's for the
    courses to your Add/Drop page. 

Please remember to register for both terms! We've set the blocks up in pairs for the Fall and Winter term. As an example, if you pick option BCS - Year 1A in the Fall, then the best match in the Winter term will also be option BCS - Year 1A. 

You'll be able to access all BCS options together through DalOnline. Examples are listed below:

Please note: 

  • Most of the blocks have four courses to allow you to either add an elective of your choice or to take one less course each term during your first year.
  • If you want to make a change later, you can drop or change an individual class.
  • If one of the courses in your chosen course block is full, the course block will no longer work. If this happens, you can use the block as a guide and individually register for each course. As always, please connect with an advisor at undergrad@cs.dal.ca if you need any help.

Option 2: Design your own schedule using our suggestions (Fall 2021 Start)

Based on our experience, we've created suggestions to help you create a schedule that makes sense for you and your interests. 

Simply choose the commonly-used schedule that best suits you below.

(See above to determine which might be the right option for you)

No prior programming experience

Fall Winter
CSCI 1105: Introduction to Programming CSCI 1110: Introduction to Computer Science
CSCI 1800: Society and Technology before the Age of Automation  CSCI 1801: Society and Technology in the Age of Automation 
CSCI 1120: Introduction to Computer Systems CSCI 1170: Introduction to Web Design and Development
CSCI 1300 Calculus in Computer Science ** CSCI 1315: Discrete Math for CS

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

**Note:

  • If you hope to take MATH 1010, please take MATH 1000 in lieu of CSCI 1300
  • The mandatory tutorial for CSCI 1107 overlaps with the lecture for CSCI 1120 in the Fall 2020 term. If you'd like to take 1107, please take it in the following term.

Prior programming experience

Fall Winter
CSCI 1110: Introduction to Computer Science CSCI 1120: Introduction to Computer Systems
CSCI 1800: Society and Technology before the Age of Automation CSCI 1801: Society and Technology in the Age of Automation
CSCI 1170: Introduction to Web Design and Development Free elective
CSCI 1300 Calculus in Computer Science ** CSCI 1315: Discrete Math for CS

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

**Note: If you hope to take MATH 1010, please take MATH 1000 in lieu of CSCI 1300

Option 2: Design your own schedule using our suggestions (Winter 2022 Start)

Based on our experience, we've created suggestions to help you create a schedule that makes sense for you and your interests. 

Simply choose the commonly-used schedule that best suits you below.

(See above to determine which might be the right option for you)

No prior programming experience

Winter Fall
CSCI 1105: Introduction to Programming CSCI 1110: Introduction to Computer Science
CSCI 1801: Society and Technology in the Age of Automation  CSCI 1800: Society and Technology before the Age of Automation 
CSCI 1120: Introduction to Computer Systems CSCI 1170: Introduction to Web Design and Development
CSCI 1300 Calculus in Computer Science ** CSCI 1315: Discrete Math for CS

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

**Note:

  • If you hope to take MATH 1010, please take MATH 1000 in lieu of CSCI 1300
  • The mandatory tutorial for CSCI 1107 overlaps with the lecture for CSCI 1120 in the Fall 2020 term. If you'd like to take 1107, please take it in the following term.

Prior programming experience

Winter Fall
CSCI 1110: Introduction to Computer Science CSCI 1120: Introduction to Computer Systems
CSCI 1801: Society and Technology in the Age of Automation CSCI 1800: Society and Technology before the Age of Automation
CSCI 1170: Introduction to Web Design and Development Free elective
CSCI 1300 Calculus in Computer Science ** CSCI 1315: Discrete Math for CS

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

One of the following can be used to fulfill a science with a lab requirement:

Visit our suggested courses page for more Science with a Lab options.

**Note: If you hope to take MATH 1010, please take MATH 1000 in lieu of CSCI 1300

  

Need help? Connect with an advisor.

We have dedicated academic advisors ready to assist you at undergrad@cs.dal.ca.

You can also book an appointment.

 
 

Have a question? We've got you.

We've compiled some of the frequently asked questions that we hear from our first year students. 

Frequently Asked Questions from First Year Students

Am I expected to know how to program before I get to Dal?

You do not need previous coding or programming experience to start in CSCI 1105. The basic knowledge and concepts will be taught in the first year and we have many supports in place for students that require extra help.

If you do have prior programming experience, you can start your degree in CSCI 1110.

Do I need to have my own laptop?

A large proportion of laboratories are scheduled in classrooms that are not equipped with desktop computers. There are many work stations available for portable devices, while a limited number have desktops machines available for homework use. 

Read about the laptops we recommend.

What operating system / programs should I have on my computer?

We recommend that you choose an operating system in which you are comfortable. We aim to use programming languages and software that is available on most platforms. When a specialized operating system is needed, Computer Science has computers that run both Windows and Mac OSX available to students. Students can also log in to our main Linux server to complete their work.

We've compiled a list of recommended specs.

Where can I find more information about my courses?

The academic calendar provides the official information all computer science courses.

 

What can I do if the class that I want is full?

The process for registering in full classes at Dal varies by faculty and department. In computer science, all class size enrolments are managed by the Dean’s Office.

When a class that you want is full, add yourself to the class waiting list. As seats become available, seats will be made available to students on the wait list. CS students are given priority to available seats in CS courses.

What elective should I take?

This question is common and has no single answer. Recommending a public speaking course might be a great suggestion to one student and a terrifying suggestion to another. The best approach is to discuss options with an advisor after first having thought through:

  • What topics interest you (beyond just computing)
  • What topics do you not enjoy
  • Are you looking to explore new topics or stay among topics that you already know about
  • Are you looking to get more depth in a particular area, possibly going to a minor, or do you want to take whatever looks interesting at the time?

With what other programs at Dal can I combine my studies?

You can combine your BACS or BCS degrees with any of the minors listed.

Students who want to consider a double major or combined honours can do so under the BSc and BA umbrellas with any of the programs in the Faculty of Science or the Faculty of Arts and Social Science. Please connect with an advisor to discuss these options.

When and how do I apply for co-op?

Apply for co-op at the end of your first year.

Applications can be processed as late as the start of September of your second year.

Apply by submitting a study plan in the "myCareer" section of myDal and registering for CSCI 8890 in the fall term of your second year.

Learn more about our co-op option.

Is there an honours program? When should I apply?

You can complete an honours degree in the Bachelor of Computer Science program. 

You should begin to plan for the honours program as you enter your third year. It is still possible to enter as late as the start of fourth year. 

Find out more about our honours requirements.


As always, our advisors are here to help if you didn't find an answer to your question.