Introduction to Computing Science I

CISC 121/3.0

Photo by Chris Reid (Unsplash)


Introduction to design, analysis, and implementation of algorithms. Recursion, backtracking, and exits. Sequences. Elementary searching and sorting. Order-of-magnitude complexity. Documentation, iterative program development, translating natural language to code, testing and debugging.

NOTE: This course is intended for students with some prior experience in programming and who understand the basics of a programming language such as variables, functions, iteration and loops. Without previous programming experience, this course will be difficult.  

Not sure if CISC 121 is the right course for you? Please take a look at the School of Computing's self-assessment test of programming prerequisites to decide whether CISC 101/110 or CISC 121 is the best starting point for you.  

Learning Outcomes

After successfully completing this course, students will be able to 

  • Given a natural language problem description, develop (design, construct, debug and test) simple software in a conventional procedural programming language using an interactive IDE. 
  • Implement and analyze the basic searching and sorting algorithms (insertion, selection; others optional) 
  • Analyse the worst-case computational complexity of small iterative and recursive programs. 
  • Use simple linear data structures (stacks and queues) in small programs. 


Summer (July–August) 2023
Course Dates
Exam Dates
Delivery Mode



*Evaluation subject to change*

Synchronous Sessions  

This course has optional virtual meetings. 


This course involves teamwork, which strengthens sought-after transferable skills, including communication, relationship building, adaptability, conflict resolution, and more. Students will be asked to work with peers on graded assessments and will be expected to collaborate asynchronously. Students can expect to be graded by peers on individual submissions. Queen’s University and the teaching team are committed to supporting students with strategies to succeed in a team-based setting.   

Proctored Exams

If a student is enrolled in ONLY online courses (section 700), they may choose either of the following options to write the exam:

  • Write the final exam online: you will write in onQ with Examity proctoring. A $100 online exam fee will be charged to your SOLUS account.  
  • Write the final exam in-person: you will write on Queen’s campus in Kingston. You will not be charged an extra fee to write on campus. 

If a student is enrolled in ANY in-person courses (section 001, 002, etc), you MUST write all your final exams in-person on Queen’s campus, including for an online course. You may not choose to write your exams online. 

Location and Timing of Final Exams

Once the exam schedule has been finalized the exam date will be posted on your SOLUS account. The exam dates for each Term are listed in the Academic Calendar. Student exam schedules for the Fall Term are posted via SOLUS immediately prior to the Thanksgiving holiday; for the Winter Term they are posted on the Friday before Reading Week, and for the Summer Term they are individually noted on the Arts and Science Online syllabi. Students should delay finalizing any travel plans until after the examination schedule has been posted. Exams will not be moved or deferred to accommodate employment, travel/holiday plans or flight reservations. 

Instructor Information


Textbook and Materials

All required and recommended materials will be available through onQ. 

Time Commitment

Students can expect to spend on average about 16 to 20 hours per week completing relevant readings, assignments, and course activities. 


"I loved this course (CISC 121) and I loved Dr. Powley. I have learned a great deal about programming compared to what I knew previously, and I feel this was largely due to her encouragement and fresh approach."
- Course evaluation, CISC 121: Introduction to Computing Science I (2014)