Queen's Search Arts & Science Home   
Queen's University Link to Faculty of Arts and Science Home
  Continuing & Distance Studies Student Services International Programs Office 

Faculty of Arts and Science Calendar

Academic Calendars

Search

2010-2011 Academic Year

Arts and Science Departments, Programs and Courses Computing Courses of Instruction in the Faculty of Arts and Science


Courses of Instruction in the Faculty of Arts and Science

AVAILABILITY
The School of Computing does not offer all of the courses listed in the Calendar every year. For the most up-to-date information on the availability of courses offered in the current year, check QCARD or consult with the School office.

More detailed descriptions of many Computing courses may be found at the following web site: http://www.cs.queensu.ca/undergraduate/courseinfo/

back to top
CISC-081*/0.5 Computers: Applications and Implications 2L;1P
Computers are changing our lives; this is a course for any student interested in learning about computing. It surveys many fields of computing science, presents case studies of fascinating examples of computers in use in diverse areas, from searching the world-wide web to medicine, and discusses the possibilities, limitations, and risks of computers.
NOTE    May not be taken concurrently with or subsequently to CISC 124*.
back to top
CISC-082*/0.5 Fundamentals of Web Applications 3L
This course surveys current best practices for implementing attractive, usable, secure and maintainable web applications. Other issues considered include: accessibility, platform and browser independence, licensing of intellectual property, scalability, and user privacy. This course is suitable for any student with some programming experience. PREREQUISITE    CISC 101* or CISC 110* (or comparable programming experience).
back to top
CISC-101*/0.5 Elements of Computing Science 3L;3P
Introduction to algorithms: their definition, design, coding, and execution on computers. Intended for students who have no programming experience. All or most assignment work will be completed during lab time.
NOTE    May not be taken concurrently with or subsequently to CISC 121* or any higher-level CISC or SOFT course.
EXCLUSION    CISC 110*.
back to top
CISC-110*/0.5 Elementary Computer Animation 3L;3P
Introduction to tools and techniques for creating 2D computer animations. Introduction to animation software (e.g., Flash) and scripting languages (e.g., ActionScript). Involves a project in the student's area of interest, such as fine art, education, or commerce. No computing or art background required. Sufficient preparation for CISC 121*.
EXCLUSIONS    CISC 101*; may not be taken for credit subsequently to CISC 121*.
back to top
CISC-121*/0.5 Introduction to Computing Science I 3L
Introduction to design and analysis of algorithms. Recursion, backtracking, and exits. Sequences, linked lists and references. Binary search trees. Elementary searching and sorting. Assertions and loop invariants. Order-of-magnitude complexity. Numerical computation. Documentation, testing and debugging. PREREQUISITE    Some programming experience (such as high-school level programming or CISC 101* or CISC 110*) will be expected; see Introductory Courses in Departmental Notes.
COREQUISITE    Any first-year course in Mathematics.
back to top
CISC-124*/0.5 Introduction to Computing Science II 3L;2T
Introduction to object-oriented design, architecture, and programming. Use of packages, class libraries, and interfaces. Encapsulation and representational abstraction. Inheritance. Polymorphic programming. Exception handling. Iterators. Introduction to a class design notation. Applications in various areas. PREREQUISITE    CISC 121*.
COREQUISITE    Any first-year course in Mathematics.
back to top
COCA-201*/0.5 Introduction to Computing and the Creative Arts 1L;2P
A multidisciplinary studio-oriented overview of computer-based applications in Art, Music, Drama and Film. History of human-computer interaction. Critical and philosophical issues. Animation. Virtual reality. Computer-aided design. Computer games. Enrollment is limited. PREREQUISITE    A 100-level course in Art, Drama, Film and Media, or Music.
PREREQUISITE OR COREQUISITE    CISC 101* or CISC 110* or CISC 121*, or permission of the School of Computing.
back to top
CISC-203*/0.5 Discrete Mathematics for Computing Science 3L
Introduction to mathematical discourse and proof methods. Sets, functions, sequences, and relations. Properties of the integers. Introduction to graph theory. Introduction to combinatorics. PREREQUISITE OR COREQUISITE    CISC 121*.
back to top
CISC-204*/0.5 Logic for Computing Science 3L
Elements of mathematical logic with computing applications. Formal proof systems for propositional and predicate logic. Interpretations, validity, and satisfiability. Introduction to soundness, completeness and decidability. PREREQUISITE    CISC 203*.
back to top
CISC-220*/0.5 System-Level Programming    3L;2P
Basic concepts of Unix-like systems. Shells and scripting. System-level programming in the C language. Software development tools and techniques.
PREREQUISITE OR COREQUISITE    CISC 124*.
back to top
CISC-221*/0.5 Computer Architecture 3L;2P
The descriptive levels of computer architecture. Instruction-set architectures. Assembly Language. Data representation. Support for operating-system management and high-level languages. Input/output and interrupts. Designing for performance. Digital Logic. PREREQUISITE    CISC 124*; CISC 220* is recommended.
back to top
CISC-223*/0.5 Software Specifications 3L
Introduction to techniques for specifying the behaviour of software, with applications of these techniques to design, verification and construction of software. Logic-based techniques such as loop invariants and class invariants. Automata and grammar-based techniques, with applications to scanners, parsers, user-interface dialogs and embedded systems. Computability issues in software specifications. PREREQUISITE    CISC 124*.
PREREQUISITE OR COREQUISITE    CISC 204*.
back to top
CISC-235*/0.5 Data Structures 3L;2P
Design and implementation of advanced data structures and related algorithms, including correctness and complexity analysis.  PREREQUISITES    CISC 124*, CISC 203*.
back to top
CISC-260*/0.5 Programming Paradigms 3L
Review of imperative programming features. Introduction to other widely used programming paradigms. Functional programming languages, such as LISP and Haskell. Higher order functions, lazy evaluation, abstract and recursive types, structural induction, symbolic expressions. Logic programming languages, such as PROLOG. Operational interpretation of predicates and terms, proof search, unification, backtracking. Typical applications.
PREREQUISITE    CISC 124*.
PREREQUISITE OR COREQUISITE    CISC 204*.
back to top
CISC-271*/0.5 Scientific Computing 3L
Introduction to scientific computing: floating point arithmetic, algorithm design, error analysis, ill-conditioning. Zero-finding. Linear equations. Interpolation. Integration. Least-squares fitting. Effective use of library programs, with discussion of their limitations and some aspects of their design and implementation. PREREQUISITES    CISC 101* or CISC 121*; MATH 111 and MATH 121 or equivalents.  
EXCLUSION    MATH 272*, PHYS 313*. 
back to top
CISC-320*/0.5 Fundamentals of Software Development 3L;2P
Introduction to management of small and medium-scale software projects. Advanced programming methodology using the programming language C++. Includes a significant programming project. PREREQUISITES    CISC 220* and CISC 235*.
back to top
CISC-322*/0.5 Software Architecture 3L;2P
Abstractions and patterns of interactions and relationships among modules. Design recovery; relationship of architecture to requirements and testing. PREREQUISITES    CISC 203*, CISC 204*, CISC 223* and CISC 235*.
back to top
CISC-324*/0.5 Operating Systems 3L
Layered operating systems for conventional shared memory computers: concurrent processes. Synchronization and communication. Concurrent algorithms. Scheduling. Deadlock. Memory management. Protection. File systems. Device management. Typical layers. PREREQUISITES    CISC 221*, CISC 235*.
back to top
CISC-325*/0.5 Human-Computer Interaction 3L
Developing usable software requires that human factors be considered throughout the design and development process. This course introduces a series of techniques for development and evaluating usable software, and shows how these techniques can be integrated into a process for software development. PREREQUISITES    CISC 124*, CISC 235*.
EXCLUSION    SOFT 325.
back to top
CISC-327*/0.5 Software Quality Assurance 3L
Validation of software throughout the life cycle. Comparative effectiveness in defect removal of formal methods (proofs of correctness), inspection (walkthroughs and reviews), and testing (unit, integration, and system testing; white box versus black box). PREREQUISITES    CISC 203*, CISC 204*, CISC 223*.
EXCLUSION    SOFT 327.
back to top
COMP-329*/0.5 Introduction to Computer-Integrated Surgery 3L
An introduction to concepts and novel technologies used in computer-integrated surgery, including image based navigation, medical robotics and virtual reality. Concepts and techniques learned in class will be applied in a hands-on surgery session where students perform minimally invasive surgery with virtual-reality navigation tools. PREREQUISITE    Second-year standing or above, and at least one 4U mathematics course or MATH 006*.
EXCLUSIONS    COMP 230*, CISC 330*.
back to top
CISC-330*/0.5 Computer-Integrated Surgery 3L
Concepts of computer-integrated surgery systems and underlying techniques such as medical-image computing, robotics, and virtual reality, learned through real-life applications and problems. Techniques learned in class will be applied in a hands-on surgery session where students perform minimally invasive surgery with virtual-reality navigation tools. PREREQUISITES    CISC 121*; CISC 271* or MATH 272*.
EXCLUSION    COMP 230*.   
back to top
CISC-332*/0.5 Database Management Systems 3L
Data models: relational, entity-relationship. Relational query languages: relational algebra and SQL. Relational database design. Application interfaces and embedded SQL. Storage and indexing. PREREQUISITES    CISC 124*, CISC 204*.
EXCLUSION    COMM 392*.
back to top
CISC-333*/0.5 Introduction to Data Mining 3L
Supervised and unsupervised learning, neural networks, support-vector machines, decision trees, metric-based clustering, distribution-based clustering, rule-based techniques, genetic algorithms. Applications to information retrieval, web mining, customer-relationship management, recommender systems, science and engineering. PREREQUISITES    CISC 121* (or equivalent), CISC 203*; a statistics course; any first-year course in Linear Algebra.
back to top
CISC-340*/0.5 Digital Systems 3L
Combinational circuits; sequential circuits; digital systems design; micro-programming; bus structures; data communications; interface design; microprocessor systems. PREREQUISITE    CISC 221*.
back to top
CISC-352*/0.5 Artificial Intelligence 3L
An introduction to the basic principles and tools of artificial intelligence. Problem solving methods and knowledge representation techniques. PREREQUISITES    CISC 235*, CISC 260*.
back to top
CISC-365*/0.5 Algorithms I 3L;2P
Principles of design, analysis and implementation of efficient algorithms. Case studies from a variety of areas illustrate divide and conquer methods, the greedy approach, branch and bound algorithms and dynamic programming. PREREQUISITES    CISC 203*, CISC 204*, CISC 235*.
back to top
COMP-390/1.0 Computing Internship I
A Computing Internship involves spending twelve to sixteen months in a paid internship position in the private or public sectors. Students in a 12-month internship register in COMP 390 and either COMP 391* or COMP 392*, or all of COMP 393*, COMP 391* and COMP 392*. Students in a 16-month internship register in COMP 390, COMP 391* and COMP 392*. The Internship Coordinator must be satisfied that the work carried out has educational merit. Successful completion of the course requires submission of a satisfactory report on the experience within thirty days of completion of the work period. The Internship Coordinator is responsible for evaluating the report. The QUIP program includes prior workshops on interviewing, resumé preparation and work performance. Career Services manages the non-academic aspects of the program. PREREQUISITES    Completion of at least 9.0 credits in a BCMPH program with a cumulative average of at least 65 per cent and permission of the Chair of Undergraduate Studies.
back to top
COMP-391*/0.5 Computing Internship II
For a complete description, see COMP 390.
COREQUISITE    Either COMP 390 or COMP 393*.
back to top
COMP-392*/0.5 Computing Internship III
For a complete description, see COMP 390.
COREQUISITE    Either COMP 390 or COMP 393*.
back to top
COMP-393*/0.5 Computing Internship IV
For a complete description, see COMP 390. PREREQUISITES    Completion of at least 9.0 credits in a BCMPH program with a cumulative average of at least 65 per cent and permission of the Chair of Undergraduate Studies.
COREQUISITES    COMP 392* and COMP 391*.
back to top
CISC-422*/0.5 Formal Methods in Software Engineering 3L
Mathematical methods for describing software behaviour and structure. Topics include (but are not limited to) the following: Requirements specification. Module specification: axiomatic, algebraic, and trace specifications. Abstract models. Verification. Specification-based validation. PREREQUISITE    CISC 327*.
back to top
CISC-423*/0.5 Software Requirements 3L
An integrated approach to discovering and documenting software requirements. Identification of stakeholders; customer, operator, analyst, and developer perspectives. Requirements elicitation. Transition from initial (informal) requirements to semi-formal and formal representations. Requirements analysis process; analysis patterns. Requirements specification techniques. Relation to architecture and user interface design; traceability of requirements. PREREQUISITES    CISC 322*, CISC 325*.
EXCLUSION    SOFT 423.
back to top
CISC-425*/0.5 Advanced User Interface Design 3L
Advanced user-interface styles such as eye-tracking input, digital desks, wearable computing, ubiquitous and context-aware computing, and tangible interfaces. PREREQUISITE    CISC 325* or permission of the School.
EXCLUSION    SOFT 425.
back to top
CISC-426*/0.5 Real-Time Systems 3L;1T alt.wks.
Design and implementation of real-time embedded applications. Specifying timing properties: formal and semi-formal methods; soft real-time versus hard real-time. Design notations; language constructs. Real-time operating systems. Abstract device interfaces. PREREQUISITES    CISC 324*, CISC 327*.
EXCLUSION    SOFT 426.
back to top
CISC-432*/0.5 Advanced Database Systems 3L
Topics include the presentation and storage of data, implementation concerns, and the integration of databases with other areas of computer science. PREREQUISITES    CISC 235*, CISC 332*.
back to top
CISC-434*/0.5 Distributed Systems 3L
Distributed systems goals, characteristics, and architectures. Processes: models, inter-process communication and coordination. Name services. Consistency and replication. Fault tolerance: design for reliable communication and recovery. Security. Development paradigms based on data types: object, file, and web-based systems. PREREQUISITE    CISC 324*.
back to top
CISC-435*/0.5 Computer Communications and Networks 3L
Fundamental concepts in the design and implementation of computer communication networks, protocols, and applications. Overview of network architectures; applications; network programming interfaces (e.g., sockets); transport; congestion; routing and data link protocols; addressing; local area networks; wireless networks, mobility management; security.  PREREQUISITE    CISC 324*. CISC 340* is recommended.
back to top
CISC-437*/0.5 Performance Analysis 3L
Analytic and empirical evaluation of the performance of software systems. Performance modeling. Experimental design and statistical techniques for empirical performance analysis. PREREQUISITES    CISC 324*, CISC 327*.
EXCLUSION    SOFT 437.
back to top
CISC-452*/0.5 Neural and Genetic Computing 3L
Introduction to neural and genetic computing. Topics include associative memory systems, neural optimization strategies, supervised and unsupervised classification networks, genetic algorithms, genetic and evolutionary programming. Applications are examined, and the relation to biologic systems is discussed. PREREQUISITE    CISC 352*, or permission of the instructor.
EXCLUSION    COGS 400*.
back to top
CISC-453*/0.5 Topics in Artificial Intelligence 3L
Investigation of selected areas of artificial intelligence research. Possible topics include natural language understanding, computational perception, planning, learning, and neurocomputing. PREREQUISITE    CISC 352*.
back to top
CISC-454*/0.5 Computer Graphics 3L
Introduction to computer graphics, including a review of current hardware; modelling and transformations in two and three dimensions; visual realism: perspective, hidden surface elimination, and shading; colour models; applications in several fields. PREREQUISITES    CISC 235* and third- or fourth-year standing; any first-year course in Linear Algebra.
back to top
CISC-457*/0.5 Image Processing and Computer Vision 3L
Introduction to fundamental concepts and applications in image processing and computer vision. Topics include image acquisition, convolution, Discrete Fourier Transform, image enhancement, edge detection, segmentation, image registration, human contrast perception, colour perception and reproduction, stereo vision. PREREQUISITES    Any first-year algebra course, any first-year calculus course, and CISC 124*.
back to top
CISC-458*/0.5 Programming Language Processors 3L;2P
Introduction to the systematic construction of a compiler: grammars and languages, scanners, top-down and bottom-up parsing, runtime organization, symbol tables, internal representations; Polish notation, syntax trees, semantic routines, storage allocation, code generation, interpreters. PREREQUISITES    CISC 121*, CISC 221*, CISC 223*.
back to top
CISC-462*/0.5 Computability and Complexity 3L
Turing machines and other models of computability such as µ-recursive functions and random-access machines. Undecidability. Recursive and recursively enumerable sets. Church-Turing thesis. Resource-bounded complexity. Complexity comparisons among computational models. Reductions. Complete problems for complexity classes. PREREQUISITES    CISC 223*. CISC 365* is recommended.
back to top
CISC-465*/0.5 Foundations of Programming Languages 3L
Syntax and semantics. Classification of programming languages. The language of while programs. The typed lambda calculus. Recursive definitions and domain theory. PREREQUISITES    CISC 204*, CISC 223*, CISC 260*.
back to top
CISC-466*/0.5 Algorithms II 3L
A continuation of CISC 365*. Lower bound theory. Average-case analysis of algorithms. Approximation algorithms. Probabilistic algorithms. Parallel algorithms. PREREQUISITE    CISC 365*.
back to top
CISC-470*/0.5 Computational Biology I 3L
Examines how algorithms, probability theory, and statistical machine learning are used in computational molecular biology. Topics may include dynamic programming, graphs, Bayesian methods, hidden Markov models, classification, and their applications in sequence alignment, genome assembly, and protein localization. PREREQUISITES    STAT 263* or equivalent; CISC 235*. CISC 352* and some background in Molecular Biology is recommended; any first-year course in Linear Algebra.
PREREQUISITE OR COREQUISITE    CISC 365*.
EXCLUSION    CISC 490* (2005-2009).
back to top
CISC-471*/0.5 Computational Biology II 3L;2P
Advanced computational approaches to the problems in molecular biology. Techniques and algorithms for sequence analysis and alignment; molecular databases; protein structure prediction and molecular data mining. PREREQUISITES    CISC 271*, CISC 352*, CISC 470* (from 2011-12), MBIO 218* (or MBIO 318*), BIOL 334* (or BCHM 315*). 
back to top
CISC-472*/0.5 Medical Informatics 3L
Current topics in the application of information technology to medicine, including computed tomography and x-ray imaging; 2D and 3D ultrasound; computer-assisted planning of interventional procedures; image registration; computer-assisted surgery; bioelectric signals; picture archiving and communication systems (PACS). PREREQUISITES    CISC 271* (or MATH 272*), CISC 330* (from 2011-12), CISC 365*.  PHGY 214 is recommended.
back to top
CISC-481*/0.5 Syntax Systems for Natural Language 3S
Chomsky grammars, including context-free languages; algorithms for natural language processing. Content will vary from year to year, but may include lexical-functional grammars, ambiguity resolution, parsing algorithms, grammatical inference, Lindenmeyer grammars and grammars for multi-dimensional objects. Students will present seminars. PREREQUISITE    Permission of the School. Enrolment may be limited.
back to top
CISC-490*/0.5 Topics in Computing Science I 3S/L
Content varies. Not offered every year.
PREREQUISITE    Permission of the instructor.
back to top
CISC-491*/0.5 Topics in Computing Science II 3S/L
For a complete description, see CISC 490*. PREREQUISITE    Permission of the instructor.
back to top
CISC-497*/0.5 Social, Ethical and Legal Issues in Computing 3S
A wide range of topics of current importance in computing, including technical issues, professional questions, and moral and ethical decisions. Students make presentations, deliver papers, and engage in discussion. PREREQUISITE    Permission of the School of Computing. Restricted to Honours students in the final year of undergraduate studies in a School of Computing program.
back to top
CISC-498/1.0 Information Technology Project
Topic selected under the supervision of a faculty member. Emphasis is on the application of software engineering techniques to the development of a substantial software system. Group work, oral presentation, participation in design and code review meetings, and delivery of complete software specification and design are required. PREREQUISITES    Admission to honours in SSP SODE; CISC 322*; at least one of CISC 325*, CISC 327*, SOFT 325, SOFT 327.
EXCLUSION    CISC 499*.
back to top
CISC-499*/0.5 Advanced Undergraduate Project
Topic selected under the supervision of a faculty member. Emphasis may be on the development of a large program, or on more theoretical issues. Independent research, an oral presentation, and a written report are required. PREREQUISITE    Admission to honours in Computing or BMCO.
EXCLUSION    CISC 498.
back to top
Arts and Science Departments, Programs and Courses Computing Courses of Instruction in the Faculty of Arts and Science
previous chapter previous page next page next chapter

Privacy Statement | Campus Map | Code of Conduct | Computer Code of Ethics | Senate Academic Policies | Student Services | Search