This course introduces students to essential concepts, frameworks, tools, and techniques for developing business solutions using digital technology. Students will gain the understanding and skills necessary to apply the latest digital technology in a business context.
This course is a gentle yet intense practical introduction to Computer Programming using Python. The course will focus on planning and organizing computer programs, using the grammar of the Python programming language. This course assumes no prior development experience and ranges from
beginning to intermediate Python concepts including: creating a Python
environment, data types, operators/expressions, data and control
structures, conditional statements, classes/objects, functions,
multi-threaded applications, testing and deployment tools, REST API’s,
machine learning, and more. Students taking this course will also gain valuable experience with
tools like PyCharm/ VSCode, Jupyter Notebooks, Git, PyLint,
PyDocs/Doxygen, and many more. Each concept is accompanied by real code
samples that will be explained in-detail and the assignments will
present students with interesting scientific problems to enable them
practice their Python skills for the purpose of solving real, complex
problems. The course is textbook-free but provides hands-chosen course handout to supplement the practical knowledge acquired from lectures. Upon
completion of the course students will be equipped with knowledge of the
skills and tools to begin tackling problems the Pythonic way.
An embedded system is a self-contained, microprocessor-based computer system typically implemented as a component of a larger electrical or mechanical system. At the core of the embedded system is an integrated circuit that performs computational tasks.
Today, there are billions of embedded system devices used across many industries including medical and industrial equipment, transportation systems, and military equipment. Many consumer devices from digital watches to kitchen appliances and automobiles also feature them. Embedded systems are small, fast, powerful, and designed for very specific use cases. While general purpose systems can perform multiple functions, they can be too costly for many applications, and may also fail to measure up to embedded systems’ reliability, low power consumption, minimal size, and other functional and performance features.
System Analysis and Design (SAD) is designed to delve into the analysis, design, development, implementation, and maintenance of computer-based information systems. Building on your foundational knowledge of computer hardware, software, and programming languages acquired, this course aims to provide you with comprehensive systems experience. This will enable you to manage the various components of a systems development approach effectively, ultimately leading to successful project completion.
The primary goal is to equip you with the fundamental skills required to study and understand systems, laying the groundwork for you to become a proficient system analyst. By the end of the course, you will be capable of confidently studying, analyzing, and designing functional systems.
The course Data Communication and Networks (CY 164) focuses on the fundamentals of data communication networks. The key goal is to give some insight into the rationale of why networks are structured the way they are today and to understand the issues facing the designers of next-generation data networks. Much of the course focuses on network algorithms and their performance. Students are expected to have a strong mathematical background. Topics to be discussed include: layered network architecture, Link Layer protocols, high-speed packet switching, Local Area Networks, and Wide Area Networking issues, including routing and flow control.