6 courses with the subject CSC-FPX, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CSC-FPX4010Principles of Programming Languages
Students explore the fundamental concepts of modern programming languages, such as Java, Python, C++/C#, Kotlin, and Rust. Students gain an understanding of principal language characteristics, including functional, imperative, and object-oriented paradigms; syntax specifications and semantic models; data typing, binding, and scoping; flow control structures and data operations; parameter passing and higher-order functions; and memory management. Students engage with the practices and techniques of implementing programming languages through the creation of an interpreter for a simple bespoke language.
Students explore the design, implementation, and application of data structures and computing algorithms. Students gain an understanding of data encapsulation constructs, including linked lists, stacks, queues, hashes, trees, and graphs. Students apply techniques for sorting and searching; recursive, divide-and-conquer, greedy, and heuristic solving; graph traversal; memorization; and dynamic programming algorithms. Students practice approaches for performing analysis of run-time complexity and NP-completeness.
Students investigate modern techniques and workflows for training, testing, and applying machine learning models in this introductory course. Students gain an understanding of industry standard ML frameworks, including TensorFlow, PyTorch, and Keras. Students explore foundational training methodologies such as supervised, unsupervised, and reinforcement learning; neural and deep-neural networks; and clustering and ensemble methods. Students utilize open-source image and structured data sets to evaluate the effects of over-fitting and generalization on model performance.
Students explore the fundamentals of computer vision algorithms using industry standard open-source tools and frameworks, including OpenCV. Students gain an understanding of foundational image processing techniques for feature detection, matching, and tracking. Students practice techniques for image convolution, classification, and segmentation.
In this first of two courses, students apply knowledge and skills from other courses as they develop a project that benefits an organization, community, or industry. Students prepare a proposal that includes a project description, deliverables, completion dates, and associated learning. Upon approval from the instructor, students execute the proposal, complete deliverables to meet the needs of the client, and produce a final product. For BS in Computer Science students only. Must be taken during the student's penultimate quarter. Cannot be fulfilled by transfer or credit for prior learning.
In this second of two courses, students continue to apply knowledge and skills from other courses as they complete a project that benefits an organization, community, or industry. Students prepare a proposal that includes a project description, deliverables, completion dates, and associated learning. Upon approval from the instructor, students execute the proposal, complete deliverables to meet the needs of the client, and produce a final product. For BS in Computer Science students only. Must be taken during the student's final quarter. Cannot be fulfilled by transfer or credit for prior learning.