Important Notice

This course is not active. Please contact Department Chair for more information.

Important Notice

This course has been discontinued. Please contact Department Chair for more information.

Introduction to Digital Circuits and Assembly Programming

Science & Technology
Computing Science
Course Code
CMPT 1150
Semester Length
Max Class Size
Lecture 25, Laboratory 25
Method Of Instruction
Typically Offered
To be determined


Course Description
This course introduces the theory and practice of digital circuit design, computer architecture, and assembly language programming. Topics include number representation, Boolean algebra, expression minimization using mapping techniques, asynchronous and synchronous circuits, flip-flops, memories, arithmetic logic units, controllers, and interfacing to computers. Designs are implemented using a commercial software product. Assembly language for one or more microprocessors/microcontrollers such as the 80x86, 68HC11, or the MicroChip PICMicro is introduced, including register transfer, branching, subroutines, and interfacing.
Course Content
  1. Data representation

1.1.     Number systems

1.1.1.  Decimal, binary, octal, hexadecimal

1.1.2.  one and two’s complement arithmetic

1.2.     Character representation

1.2.1.  ASCII (others such as EBCDIC and Unicode may be introduced)


  1. Gates and combinational circuits

2.1.     Simplification techniques

2.1.1.  Boolean algebra

2.1.2.  Karnaugh maps

2.1.3.  Brief survey of other (software) techniques

2.2.     Circuits

2.2.1.  Decoders and multiplexers

2.2.2.  ALU


  1. Memory and sequential circuits

3.1.     flip-flops

3.2.     registers

3.3.     memory

3.4.     counters and synchronous circuits

3.5.     sequential machines and controllers


  1. Computer architecture

4.1.     Machine cycles

4.1.1.  Fetch-decode-execute-increment PC

4.1.2.  instruction cycles and register transfer


  1. Comparison of microprocessor families

5.1.     architecture

5.2.     instruction sets


  1. Assembly language programming

6.1.     the assembler

6.2.     data transfer and addressing modes

6.3.     CPU states, flags, and logical operations

6.4.     branching and structured programming

6.5.     subroutines and parameter passing

Methods Of Instruction

There are three components to the course: lectures, labs. and assignments. 

The lecture is used to introduce new material; usually via a sequence of theoretical concepts, examples, and practical considerations. The book is to be used as a close adjunct to the lecture notes and examples.

The two hour weekly lab. is used for the teaching and evaluation of circuit designs using the software product LogicWorks and also the evaluation of assembly language programs implemented by the student.

Assignments include data representation, logic designs using LogicWorks, and assembly language programming.

Means of Assessment

Evaluation will be carried out in accordance with Douglas College Policy.  The final grade will be calculated from a particular distribution from the range below.  The exact distribution will be given to the student on the first day of classes along with the course outline.


Distribution Range:


  labs. (12 to 14)                                                   15% - 30%

  assignments (4 to 6)                                           20% - 30%

  tests (1 to 2) @ 15% - 25% each                          15% - 50%

  final examination                                               20% - 40%

  class participation1                                               0% -   5%


Note #1:  participation includes (but is not limited to) attendance and/or short pop-quizzes and/or handing-in (part-of) a homework assignment

Learning Outcomes

The student should be able to:


  1. Demonstrate an understanding of the logic blocks composing a microprocessor
  2. Appreciate, via comparisons, the architecture of microprocessors
  3. Demonstrate, by design and implementation, using a software simulator, gate level logic of microprocessor components such as memory, ALU, and controller
  4. Understand, via use, data representation including numbers of various bases and characters
  5. Design and implement assembly language programs
Textbook Materials

Textbooks and Materials to be Purchased by Students:


  1. Malvino, Brown, Digital Computer Electronics, Macmillan/McGraw-Hill
  2. Portfolio for logic design assignments
  3. Two 3½” high density diskettes



CMPT 1110 with a minimum grade of C


No corequisite courses.


No equivalent courses.

Requisite for

Course Guidelines

Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester / year of the course, consider the previous version as the applicable version.

Course Transfers

Institution Transfer Details Effective Dates
Kwantlen Polytechnic University (KPU) KPU CPSC 1250 (3) 2004/09/01 to 2007/08/31
Simon Fraser University (SFU) SFU CMPT 150 (3) 2004/09/01 to 2007/08/31
Thompson Rivers University (TRU) TRU COMP 213 (3) 2004/09/01 to 2007/08/31
Trinity Western University (TWU) TWU CMPT 1XX (3) 2004/09/01 to 2007/08/31
University of British Columbia - Okanagan (UBCO) UBCO COSC 124 (3) 2005/05/01 to 2007/08/31
University of British Columbia - Vancouver (UBCV) No credit 2004/09/01 to 2007/08/31
University of Northern BC (UNBC) UNBC CPSC 1XX (3) 2004/09/01 to 2007/08/31
University of the Fraser Valley (UFV) UFV CIS 1XX (3) 2004/09/01 to 2007/08/31
University of Victoria (UVIC) UVIC CSC 230 (1.5) 2004/09/01 to 2007/08/31

Course Offerings

Summer 2021

There aren't any scheduled upcoming offerings for this course.