COMPUTER AND DIGITAL LOGIC - 2023/4

Module code: EEE1033

Module Overview





Expected prior learning:  None specifically advised.




Module purpose:  This course offers an introduction to the principles of digital logic covering both the theory (e.g. logical operators, their combination and simplification, and basic logic circuit arrangements such as counters & registers) and the practical implementation of logic flows within software.  The latter serves also as an introduction to the principles of programming through the Python language.




Module provider

Computer Science and Electronic Eng

Module Leader

FLORESCU Lucia (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 4

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 70

Lecture Hours: 26

Tutorial Hours: 5

Laboratory Hours: 12

Guided Learning: 15

Captured Content: 22

Module Availability

Semester 1

Prerequisites / Co-requisites

None

Module content

Indicative content includes the following.

Part A: Logic and Digital Electronics  (weeks 1-11)

Principles: digital signals and systems, computer hardware and basic operation. Symbolic logic, logical connectives: AND, OR, NAND, NOR, EXOR. Boolean algebra, duality, truth tables, positive & negative logic. Electronic logic gates: FET logical switch and CMOS. Combinational logic functions. Minimisation using Karnaugh maps and algorithmic techniques. Propagation delay and logic hazards.

[10 lectures]

 

Simple binary arithmetic: codes and conversions, 2’s complement and floating point representation. Arithmetic circuits: series/parallel adders and subtractors.

[3 lectures]

 

IC logic systems: multiplexers, decoders, programmable logic devices. Latches and flip-flops: clocked D-type and JK-type, edge and pulse triggered versions. Shift registers and counters. Synchronous sequential systems: state diagrams and design method.

[9 lectures]

 

Part B: Logic in Software  (weeks 4-7 for lectures; weeks 5-10 for labs)

*  Fundamentals of procedural programming (in Python).  Functions.  Scope and Extent.  Basic console and file I/O.

[2 lectures, 3 double-labs]

 

*  Conditionals.  Logic and its implementation as if/for/while preconditions (AND, OR, NOT)

*  Procedural control:  sequence and selection (looping constructs, iteration and recursion)  

[2 lectures, 3 double-labs]

 

Assessment pattern

Assessment type Unit of assessment Weighting
Practical based assessment PYTHON CODING EXERCISES 15
Coursework TUTORIAL PEER ASSESSMENT SCHEME (TPAS) 10
Examination Online EXAMINATION 2HRS OPEN-BOOK WITHIN A 4 HR WINDOW 75

Alternative Assessment

N/A

Assessment Strategy

The assessment strategy for this module is designed to provide students with the opportunity to demonstrate the following.

That they can design, construct, comprehend and manipulate common digital logic arrangements in both hardware and software. 

That they can design and implement simple programs in a procedural programming language.

 Thus, the summative assessment for this module consists of the following.


  • Python programming coursework  (covering Part B of the syllabus) 15% (two pieces of coursework in weeks 8 and 11, contributing 30% and 70%, respectively, to this unit of assessment)

  • Digital Logic Questions contributing to the cross-module Y1 Tutorial Peer Assessment Scheme (TPAS) 10%

  • Examination (covering Part A of the syllabus) 75%



 The examination consists of 3 questions each from different areas of Part A of the course. Each question consists of several subquestions testing knowledge, analytical, and design skills.

The lab assessments consists of writing short Python programs in the two-hour long lab sessions running toward the end of the semester. The lab sessions will provide both learning opportunities and assessment vehicles being supported by experienced lab demonstrators.

 

Formative assessment and feedback

For the module, students will receive formative assessment/feedback in the following ways.


  • During lectures, by question and answer sessions

  • During supervised computer laboratory sessions




  • During tutorials, by question and answer sessions

  • Via Year 1 Tutorial Peer Assessment System

  • During informal sessions with the lecturer (office hours)

  • By means of unassessed problem sets  (with answers/model solutions) 

  • By means of feedback of an unassessed mock exam (in week 11)



 

Module aims

  • The aim of this module is to offer an introduction to the principles of digital logic to support both the design & analysis of simple digital circuits and systems, and the implementation of short programs and control flows.
  • The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.

Learning outcomes

Attributes Developed
Ref
001 Demonstrate an understanding of the theory and principles of digital logic K C1
002 Evaluate appropriate use of theoretical principles, logical operators and circuit components to implement logic functions and design, optimise and test the corresponding combinational and sequential logic circuits. KCPT C2, C12
003 Demonstrate knowledge of the fundamentals of procedural programming in Python and solve problems in digital logic within a software program. KCT C3

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to achieve the following aims.



  • To introduce the basic building blocks of digital logic circuits and provide a solid underpinning of the theory behind their operation and common combinations to enable the design and implementation of digital electronic circuits. The topics covered include Boolean Logic and Gates, Latches and Flip-Flops, Counters.


  • To introduce basic binary representations of data including binary forms of integers including negative numbers (one and two’s complement) and floating point representation.


  • Students learn to identify, describe classify and simplify the operation of basic logic circuits performance of software systems and components through the use of analytical methods.


  • Students learn basic programming skills and functional thinking enabling the abstraction of logic statements from problem specifications and implementation of these in software form (specifically, Python).



 

Learning and teaching methods include the following.



  • Face-to-face lectures, labs and tutorials; Pre-recorded lectures; Lecture notes (slides). Recordings of the face-to-face lectures and tutorials; Optional formative problem sets; Tutor peer assessment system of summative assessment, Online resources, links to recommended textbooks available in library

     

                           Lectures:

                                   Logic and Digital Electronics: Weeks 1-11 for 2 hours per week;

                                   Logic in Software: Weeks 4-7 for 1 hour per week

                                             26 hours total

                          2 hour Labs: Python exercises to consolidate the lecture material,  in  weeks 5-10 = 12 hours total

                          1 hour Tutorials for Logic and Digital Electronics, in weeks 3,5,6,8.9—5 hours total. These are active, problem-solving sessions where students can review and consolidate their knowledge, apply the theory in context, and gain feedback on their understanding. These sessions are also correlated with and prepare the students for the assessed TPAS submissions in weeks 4, 7 and 10.


Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: EEE1033

Other information

This module will enhance digital capability by:  providing the fundamental understanding of the principles and implementation of digital technology; providing a fundamental grounding in computer programming through the Python language; the  interaction with the digital teaching systems.

Digital electronics knowledge is essential for a broad range of careers and this module represents a key component for the development of the students in this area. Digital electronics knowledge results in enhanced employability  in any area of electronic and electrical engineering, as well as in  computing or artificial intelligence. By developing skills using a real-world programming language, the module will further contribute to the improving the employability of students

Teaching and assessment of the course involves a series of assignments as well as recommendations for more challenging questions and content that go beyond the taught material. Through these, the students are encouraged to learn to utilise  a broad range of resources as well to develop their time-management and problem-solving skills, ultimately developing their resourcefulness and resilience.

Digital electronics represents the basis for a range of engineering applications to sustainability. 

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Electronic Engineering with Space Systems MEng 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Space Systems BEng (Hons) 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering MEng 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering BEng (Hons) 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering BEng (Hons) 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electrical and Electronic Engineering BEng (Hons) 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Nanotechnology BEng (Hons) 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Nanotechnology MEng 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electrical and Electronic Engineering MEng 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering MEng 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Computer Systems MEng 1 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Computer Systems BEng (Hons) 1 Compulsory A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2023/4 academic year.