Aug 06, 2026  
2026-2027 Catalog 
    
2026-2027 Catalog

SDEV 250 - JavaScript/TypeScript for Inter-Process Development


PREREQUISITES: SDEV 140 - Introduction to Software Development OR CSCI 101 - Computer Science I
PROGRAM: Software Development
CREDIT HOURS MIN: 3
LECTURE HOURS MIN: 3
DATE OF LAST REVISION: Fall 2024

This course introduces students to JavaScript and TypeScript with a focus on inter-process communication, system-level programming, and back-end data handling. Students will explore how JavaScript and TypeScript can support processes beyond web development, such as inter-process communication (IPC), data parsing, network protocols, and serverless architecture. This course covers the creation of JavaScript applications, TypeScript-based services, and asynchronous programming, enabling students to build scalable, modular software systems. Students will create a final project demonstrating a multi-process application or service-oriented architecture using JavaScript and TypeScript.

MAJOR COURSE LEARNING OBJECTIVES: Upon successful completion of this course the student will be expected to:

  1. Compare and contrast various inter-process communication (IPC) techniques, including sockets, shared memory, and message queues.
  2. Implement asynchronous programming including event loops, promises, and async/await.
  3. Implement inter-process data handling through streams, buffers, and file I/O.
  4. Construct multi-process applications that manage child processes and utilize inter-process communication.
  5. Implement worker threads to enable multi-threaded, parallel processing within a single process.
  6. Analyze the performance and memory management of inter-process applications, identifying areas for optimization and debugging.
  7. Implement secure data exchange between processes, using encryption, authentication, and static typing to ensure data integrity.
  8. Develop applications utilizing sockets and message queues to create real-time, bidirectional communication across processes.
  9. Utilize microservices to allow processes to communicate through APIs or message brokers.
  10. Evaluate tools and strategies for testing and debugging asynchronous and multi-process applications.


COURSE CONTENT: Topical areas of study include -
  • Inter-Process Communication
  • Sockets
  • Shared memory
  • Asynchronous Programming
  • Callbacks, Promises, and Async/Await
  • Concurrency
  • Blocking and non-blocking operations
  • Process management 
  • File system operations
  • Debugging
  • Secure Programming
  • Annotations, interfaces, and type checking
  • Generics
  • Enums
  • Type inference
  • Streams and buffers
  • Message queues (e.g., RabbitMQ, Redis)
  • Serverless Architectures
  • Event loops, Event handling and Event Driven Programming
  • Data Serialization and Parsing
  • JSON, XML, CSV
  • gRPC and WebSockets
     

Course Addendum - Syllabus (Click to expand)