CSUMB CS Online Courses and Final Projects
My name is Ricardo and I am attending CSUMB CS Online between 2019 - 2021.

A portfolio that shows the process and the work created by Ricardo Barbosa while in attendance at Cal State Monterey Bay
My expectations of this program are to get into a graduate school program and continue on learning cybersecurity and machine learning. I want to
learn as much as I can about operating systems and algorithms in this program. Operating systems are super important to understand how computers
work at a granular level. And Algorithms will help tremendously when assigned code for job interview. I can say that this program is going to add
great things to my resume, and I am excited to start alongside everyone else in Cohort 10!
My name is Ricardo and I am attending CSUMB CS Online between 2019 - 2021.
This is the first class in the 100 week program...
This is the first course in the 100 week program which helps students identify and articulate personal professional and social goals. Provides an integrated overview of the computer science and communication design majors and their requirements. Students develop a plan for their learning goals. Students learn writing presentation research and critical-thinking skills within the diversified fields of information technology and communication design. Students learn how to analyze predict and articulate trends in the academic public service [Prereq: (GE Areas A1 and A2 and A3 with a C- or better) and (Junior or Senior Standing)]
Programming Language
JAVA
Provides students with the fundamental concepts to develop large-scale software, focusing on the object-oriented programming techniques. Coverage includes the introduction to Java programming language, object-oriented programming, software life cycle and development processes, requirements analysis, and graphical user interface development. (Prereq: CST 238 with a C- or better)
Programming Languages
SQL and JAVA
This course provides balanced coverage of database use and design,focusing on relational databases. Students will learn to design relational schemas, write SQL queries, access a DB programmatically, and perform database administration. Students will gain a working knowledge of the algorithms and data structures used in query evaluation and transaction processing. Students will also learn to apply newer database technologies such as XML, NoSQL, and Hadoop. (Prereq: CST 238 and MATH 130 with a C- or better)
Programming Language
C
Students in this course will learn about the use and design of modern operating systems, focusing on Linux. On the "use" side, students will learn the Linux command line, to write shell scripts, and to build programs with GNU utilities like awk, sed, and make. On the "design" side, students will develop a deep understanding of process management, memory management, file systems, and concurrency, and how they apply to modern technologies like virtualization and cloud computing. (Prereq: CST 238 and MATH 130 with a C- or better)
Programming Language
Python
Survey of Telecomm and Data Comm Technology Fundamentals, Local Area Network, Wide Area Network, Internet and internetworking protocols including TCP/IP, network security and performance, emerging industry trends such as voice over the network and high speed networking. Designed as a foundation for students who wish to pursue more advanced network studies including certificate programs. Includes hands-on networking labs that incorporate Cisco CCNA lab components. (Prereq: CST 238 and MATH 130 with a C- or better)
Programming Languages
Javascript, HTML, CSS, Node.js
Provides students with dynamic web application development skills, focusing on the integration of server-side programming, database connectivity, and client-side scripting. Coverage includes the Internet architecture, responsive design, RESTful web services, and Web APIs. (Prereq: CST 238 with a C- or better)
Community Service
Taught Python at a private high school
Provides students with key knowledge of race, gender, class and social justice especially in relation to technology in today's digital world. Students challenge the barriers of expertise, gender, race, class, and location that restrict wider access to and understanding of the production and usage of new technologies. Students will engage in a practical experience in the community via their service placements, which will provide depth and context for considering questions of justice, equality, social responsibilities and the complexities of technology and its societal impact. The course uses scenario based approach combining presentations, discussions, and reflections to allow students explore the relationship between critical reflection and action on the topics mentioned above. (Prereq: GE Areas A1 and A2 and A3 and B4 with a C- or better)
Software
Photoshop, Illustrator, UXDesign
A survey course that combines the study of technology, design and aesthetic principles as they apply to twenty-first century visual media. Students learn how fundamental concepts of art and design apply to a broad range of commercial, expressive and entertainment forms. Students also study the democratization of the creative process through digital media, using current technology to produce sophisticated and expressive examples of personal digital creativity. (Prereq: GE Areas A1 and A2 and A3 and B4 with a C- or better)
Programming Language
C++ and JAVA
Students learn important data structures in computer science and acquire fundamental algorithm design techniques to get the efficient solutions to several computing problems from various disciplines. Topics include the analysis of algorithm efficiency, hash, heap, graph, tree, sorting and searching, brute force, divide-and-conquer, decrease-and-conquer, transform-and-conquer, ynamic programming, and greedy programming. (Prereq: CST 238 and MATH 170 with a C- or better)
Programming Languages
Python, Numpy, Pandas, Sci-kit
In data science, data analysis and machine learning techniques are applied to visualize data, understand trends, and make predictions. In this course students will learn how to obtain data, preprocess it, apply machine learning methods, and visualize the results. A student who completes the course will have enough theoretical knowledge, and enough skill with modern statistical programming languages and their libraries,to define and perform complete data science projects. (Prereq: CST 238 with a C- or better)
Logic
Proof Writing
In this course students learn to develop skill in using logic to describe and assess arguments. Students will learn to write formulas in propositional and first-order logic, and more importantly, to write and check proofs. Students will also learn to write formulas in three-valued and modal logic, know how to choose an appropriate logic, and understand the limitations of logic in capturing human reasoning. [(Prereq: (GE Areas A1 and A2 and A3 and B4) and (MATH 170) with a C- or better)]
Programming Languages
JAVA and Springboot
Prepares students for large-scale software development using software engineering principles and techniques. Coverage includes software process, requirements analysis and specification, software design, implementation, testing, and project management. Students are expected to work in teams to carry out a realistic software project. (Prereq: CST 338 with a C- or better)
Programming Languages
React and Python
Students will work on a project in large groups (up to 5 students in each group), developing requirements specification, a solution plan followed by design and implementation of the solution. The problem statement for the projects will be selected by the faculty. Faculty will also play the role of a project manager directing the schedule and deliverables for these projects. (Prereq: CST 300 with a C- or better)