Part-Time Sessional Instructor

Posting Number:
FAPT09-23
Posting Date:
Tuesday, October 24, 2023 to Friday, November 24, 2023
Department:
Department of Computer Science
Employer:
UNBC
Job Type:
Term, part-time
Location:
Prince George

Description

The University of Northern British Columbia (UNBC) invites applications for a sessional instructor position in the Department of Computer Science for the Winter 2024 semester. As an institution committed to the fostering of an inclusive and transformative learning environment, UNBC values high quality and growth in both teaching and scholarship.

CPSC 110-3 (Introduction to Computer Systems and Programming)
The course introduces computer systems and programing, concepts in computer architecture including the central processing unit, buses, memory units, input/output, and communication devices. The introduction to operating systems emphasizes the file system and program development utilities. Programing concepts and techniques include problem analysis, program design, coding, and testing, as well as language elements such as data types, variables and assignment statements, expressions, mixed-mode arithmetic, input/output operations, basic data structures and control structures, procedures, and abstract data types. Basic database management concepts will also be introduced. Students will develop small applications programs. CPSC 110-3 is a first course in computer science and computer programing.

CPSC 222-3 (Introduction to Concurrent and Distributed Programming)
This course introduces the core concepts, techniques, and tools for concurrent and distributed programming. Topics include concurrent programming in shared memory systems and distributed programming in message passing systems. After introducing the necessary concepts, various coordination problems are discussed and then solved using different synchronization mechanisms.Relevant programming environments are introduced, and students gain hands-on experience through programming assignments in both shared memory systems and message passing systems.

CPSC 231-3 (Computer Organization and Architecture)
This course introduces computer organization and architecture. Topics include computer abstractions and technology, characteristics of good computer architecture, instruction set architecture, Reduced Instruction Set Computer (RISC), Complex Instruction Set Computer (CISC), processor Datapath and control, pipelining, hyper-threading, memory systems, I/O systems, bus, multiprocessors, parallel computers, and Flynn's Taxonomy. Students gain hands-on experience through a series of assembly level programming lab assignments using a simulator of a simple machine.

CPSC 250-3 (Applied Business Computing)
This course examines core computing knowledge and techniques as they apply to business applications. The course covers database design and information retrieval techniques with emphasis on web-database integration, advanced features of spreadsheets, recoding/analyzing basic business transactions using a variety of accounting software, and implementation of selected financial models. Presentational and interface design techniques are also covered. Students complete a term project that solves a typical business problem using the software and procedures of their choice. This course may not be counted as a computer science course by computer science majors.

CPSC 321-3 (Programming Languages)
Programming languages change constantly and come in and out of popularity as they age.most programmers will learn multiple programming languages during their careers. This course is intended as a general introduction to programming languages. In this course, we will cover the general ideas that underlay programming languages and their design. Some of these topics include: the specification of syntax and semantics, theoretical fundamentals, programming language constructs, declarations and types, abstraction mechanisms, and programming paradigms.

CPSC 324-3 (Introduction to Database Systems)
This course focuses on the relational database model. Topics include storage structure and access methods, data definition and data manipulation language, relational algebra and calculus, and SQL. An introduction to database design using entity-relationship model, functional dependencies, and theory of normalization is provided. A relational DBMS is used for understanding SQL and application development in SQL-like languages and general-purpose host languages with application program interfaces.

CPSC 377-3 (Introduction to Robotics)
This course is an introduction to hardware architecture and control architecture of robotic and mechatronic devices. Topics include electronics, sensor capabilities, calibration of sensors, control of sensor I/O, motor and motion control through duty cycle and pulse width modulation. Laboratory topics include the development of interfaces between sensors, their control boards and digital circuitry including microprocessors. Microprocessor control of sensors and motors is developed, including the use of reasoning embedded in onboard microprocessor software for control of robotic actions.

CPSC 444-3/644-3 (Computer Networking)
This course explores essential topics in computer networks including each of the network layers (application layer, transport layer, network layer – divided into data and control planes, data link layer, and physical layer). The application layer includes HTTP, SMTP/IMAP, DNS, client-server, P2P, video streaming, and CDN. The transport layer includes UDP, TCP, reliable data transfer, congestion control, and flow control. The network layer – data plane includes IP protocol, generalized forwarding, NAT, middleboxes, and Internet Architecture. The network layer – control plane includes routing such as OSPF and BGP, SDN controllers, network management configuration, ICMP, and SNMP. Finally, the Link Layer and LANs includes error detection and correction, shared broadcast channel, link layer addressing, local area networks including Ethernet and VLANs, and data center networks. In addition, wireless and mobile networks are covered including Wi-Fi, 4G & 5G, mobility management, and Mobile IP. Security is also highlighted, but in-depth coverage is deferred to other courses focused on security.

CPSC 473-3 (Introduction to Data Mining)
This course introduces algorithms and paradigms that allow computers to discover previously hidden patterns in databases or datasets. Main topics include discovery of frequent patterns, analysis of different types of data (static, dynamic, sequential, uncertain, etc.) clustering and classification. Other topics may include data visualization, social network mining, real-life applications, and parallel/distributed data mining. Students work on assignments, term tests and a course project.

For information including application instructions, please see the below link to the job posting.

Document: