| |
Aug 06, 2026
|
|
|
|
|
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:
- Compare and contrast various inter-process communication (IPC) techniques, including sockets, shared memory, and message queues.
- Implement asynchronous programming including event loops, promises, and async/await.
- Implement inter-process data handling through streams, buffers, and file I/O.
- Construct multi-process applications that manage child processes and utilize inter-process communication.
- Implement worker threads to enable multi-threaded, parallel processing within a single process.
- Analyze the performance and memory management of inter-process applications, identifying areas for optimization and debugging.
- Implement secure data exchange between processes, using encryption, authentication, and static typing to ensure data integrity.
- Develop applications utilizing sockets and message queues to create real-time, bidirectional communication across processes.
- Utilize microservices to allow processes to communicate through APIs or message brokers.
- 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)
|
|