Computer Science courses (COSC) have become a popular area of study from …
Computer Science courses (COSC) have become a popular area of study from K-12 to higher education levels (i.e., community colleges and four-year institutions). For the past years, different educational approaches have been proposed to disseminate concepts in these areas (traditionally through books and online platforms such as wikis, websites, forums). Although there are several resources available to assist a student in learning tricks or "how-to" for specific items, some of them lack curricular guidance to lead to a constructivist learning approach.
Some of the other available resources rely on a strong mathematical background, which many potential computer science students might not have, discouraging students from pursuing a computer science or programming field, particularly from a K-12 environment and community colleges.
This project comprises two courses: Programming Fundamentals I, a.k.a., CS 1 (THECB: COSC 1436) and Programming Fundamentals II, a.k.a., CS 2 (THECB: COSC 1437). Additionally, we present modules on cybersecurity and data analytics to these two courses, two emerging areas in computing-related to these courses that are highly applicable in today's industry needs.
Although the COSC courses do not appear in the 2017-2019 THECB Most Transfer List, many institutions, including high schools and postsecondary schools, have adopted COSC 1436 and 1437, their core highly demanded courses. Furthermore, different independent school districts have a strong partnership with community colleges and four-year institutions, increasing the number of COSC 1436 and COSC 1437 sections across Texas. Therefore, we anticipate creating an OER that might have a significant impact in the next years.
A free interactive guide to front-end web development for absolute beginners. This …
A free interactive guide to front-end web development for absolute beginners. This book teaches basic HTML and CSS coding using easy to follow explanations, video demonstrations, and interactive exercises.
An introduction to the design and creation of relational databases. Topics include …
An introduction to the design and creation of relational databases. Topics include storing, retrieving, updating, and displaying data using Structured Query Language (SQL) and Procedure Language (PL).
Develop, test, deploy and maintain web applications using the Ruby programming language …
Develop, test, deploy and maintain web applications using the Ruby programming language and the Rails framework with an emphasis on MVC (Model View Controller) architecture. Other technologies utilized include: HTML, CSS, Javascript and SQL.
Designing and publishing web documents. Exploration of tools available for creating and …
Designing and publishing web documents. Exploration of tools available for creating and editing web documents. An introduction to designing and publishing web documents. Includes basic markup language, hyperlinks, tables, frames, images, and forms. Exploration of tools available for creating and editing web documents. Course emphasizes web page/site design and development with an application software tool.
Introduction to object-oriented programming. Emphasis on the fundamentals of structured design with …
Introduction to object-oriented programming. Emphasis on the fundamentals of structured design with classes, including development, testing, implementation, and documentation. Includes object-oriented programming techniques, classes, and objects.
Objectives of this topic: Understand concurrency and relevant terminology, Recognize various thread …
Objectives of this topic: Understand concurrency and relevant terminology, Recognize various thread states, Recognize various problems that may arise due to incorrect organization of threads, Program using Runnable objects
In this module, you will learn about: Integrated Development Environments (IDEs), Eclipse …
In this module, you will learn about: Integrated Development Environments (IDEs), Eclipse IDE, How to create a Java Project in Eclipse, How to create a Java Class in Eclipse, How to run a Java Program in Eclipse
Objectives of this topic: Understand the need for thread synchronization, Recognize basic …
Objectives of this topic: Understand the need for thread synchronization, Recognize basic constructs of thread synchronization, Implement synchronized solutions to problems
Objectives of this topic: Understand the usages of exception handling, Recognize the …
Objectives of this topic: Understand the usages of exception handling, Recognize the differences between errors and exceptions, Understand the usage of try-catch-finally to achieve exception handling, Program using Java’s exception-handling syntax, Understand how assertions are used
Objectives of this topic: Understand the concept of design patterns, Evaluate various …
Objectives of this topic: Understand the concept of design patterns, Evaluate various design patterns by category, Analyze the advantages of the design patterns in question, Understand how some significant patterns are used
In this module, you will learn about Classical Software Engineering, Object-Oriented Software …
In this module, you will learn about Classical Software Engineering, Object-Oriented Software Engineering, Structured Analysis and Structured Design (SA/SD) Data Flow Diagrams (DFDs), Structured (Modular) Programming Paradigm, Object-Oriented Paradigm
In this module, you will learn about: Data Hiding / Information Hiding, …
In this module, you will learn about: Data Hiding / Information Hiding, Getter (Query or Accessor) methods, Setter (Mutator) methods, Predicate methods, Helper/Utility methods
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.