Computer Science - Maalot College
Organization
Descriptions and credit recommendations for all evaluated learning experiences
135 hours (15 weeks).
September 2023 - Present.
Upon successful completion of the course, students will be able to: identify specifications and configurations of computer hardware; use the components of a computer system; use the terminology of current computer language correctly; use the Windows operating system easily and effectively; navigate the interface and common features across Office applications; efficiently create, enter, format, manage, and present data using various Microsoft Office tools; create spreadsheets and charts using Microsoft Excel; utilize, and customize a database using Microsoft Access; and utilize the Internet and its capabilities to create personal webpages using HTML.
Major topics include introduction to computers and terminology; navigating the operating system Windows 10; basic application software categories of word processing; database, presentations and spreadsheets using Microsoft Office software applications; and fundamentals of internet and HTML.
In the associate/certificate degree category OR in the lower division baccalaureate degree category, 3 semester hours in Computer Science or as an elective in Computer Science or Computer Applications in Business (8/24).
135 hours (15 weeks).
September 2023 – Present.
Upon successful completion of the course, students will be able to: define and apply database concepts such as: database design, relational database design, database architecture, entity-relationships, data normalization, data modeling, ensuring data independence, query design, relationships, SQL, client/server, transaction processing, data types, indexing, ODBC, data access languages, security; and design, build, and implement a fully functional relational database using either Microsoft Access and/or SQL Server implementing required topics.
Major topics include database concepts and definitions, logical organization, components of databases, database architecture and data modeling, data normalization, data descriptions and query languages, SQL, query processing, transaction processing, database integrity, database design, client/server, Microsoft Access, data access using ADO and DAO.
In the upper division baccalaureate degree category, 3 semester hours in Computer Science (8/24).
135 hours (15 weeks).
September 2023 – Present.
Upon successful completion of the course, students will be able to: write programs in C# using basic and advanced features of the language; perform arithmetic and character operations on variables; write a program that creates classes and objects; apply control structures in program development; incorporate simple repetition statements (loops) in programs; employ various data types and perform conversions between them; integrate nested loops in program writing; use a counter controlled loop in writing a program; differentiate between various logical operators and show their use in compound selector statements; create and manipulate one-dimensional and two-dimensional arrays; define and use methods in a program; develop programs utilizing classes and objects; and define and manipulate strings.
Topics include introduction to programming using the C# language; use of variables, data types and conversions; arithmetic operators; control structures, repetition, methods, arrays, strings, classes and objects, and I/O.
In the associate/certificate degree category OR in the lower division baccalaureate degree category, 3 semester hours in Computer Science Software Engineering (8/24).
135 hours (15 weeks).
September 2023 – Present.
Upon successful completion of the course, students will be able to: explain what data structures are and why they are important; implement and operate upon arrays, ordered arrays, linked lists of various types, stacks, queues, deques, binary trees and binary search trees; analyze time complexity of data structures and their operations (insertion, deletion, searching, etc.); identify which data structures and algorithms are more suited to particular tasks and scenarios; identify and appreciate efficiency in programming; explain and utilize pointers; identify practical applications of data structures; define the beauty of recursion; trace through recursive algorithms with a clear understanding of how they work and what’s being done at each step in the code; utilize recursion in one’s own programming; differentiate between different types of trees; identify different parts of a tree as well as a tree’s size, height and the depth of a given node; and implement binary trees with multiple underlying data structures.
Major topics include pointers algorithm and data structure complexity analysis (big o); linked list;, recursion; stacks; queues and deque; circular and doubly linked lists, binary trees; and general trees.
In the lower division baccalaureate/associate degree category, 4 semester hours in Computer Science or Software Engineering (8/24).
135 hours (15 weeks).
September 2023 – Present.
Upon successful completion of the course, students will be able to: differentiate between composition and inheritance according to Object-Oriented Programming (OOP) principles; solve programming problems using object-oriented techniques with C#; use objects properly in a program; apply programming skills to write a program using a class inheritance hierarchy; utilize the OOP principle of abstraction within a C# program; differentiate between various OOP principles and their applications in C#; assess the use of polymorphism and abstraction in different programming scenarios; implement the principle of behavioral abstraction in a C# program; write programs that use polymorphism effectively; identify polymorphism in code examples; write programs using GUI (graphic user interface) components; write programs using advanced GUI components; define event handlers for GUI components; implement delegates as necessary in an event handling context; write programs that create and access files; write programs using generic methods and classes; and write a program using asynchronous programming techniques.
Major topics include introduction to concepts in object-oriented programming; objects; inheritance; polymorphism; encapsulation; and use of GUI components in C#, including event handling and delegates.
In the associate/certificate degree category, in the lower division baccalaureate degree category OR in the upper division baccalaureate/associate degree category, 3 semester hours in Computer Science Software Engineering (8/24).
135 hours (15 weeks).
September 2023 – Present.
Upon successful completion of the course, students will be able to: use mathematical expressions to describe functions of simple combinational and sequential circuits; describe physical limitations of electronic circuits; explain the pros and cons of using different formats to represent numerical data; convert numerical data from one format to another; discuss effects of fixed-length number representations on accuracy and precision; describe internal representation of characters, strings, records, and arrays; explain the basic organization and major functional units of the von Neumann machine; comprehend how an instruction is executed in a von Neumann machine; summarize how instructions are represented at machine levels and in context of a symbolic assembler; identify different instruction formats, such as addresses per instruction and variable length versus fixed length formats; write simple assembly language program segments; demonstrate how fundamental high-level programming constructs are implemented at the machine-language level; comprehend basic concepts of interrupts and I/O operations; explain how interrupts are used to implement I/O control and data transfers; identify various types of buses; describe data access from various drives, such as magnetic disks, optical disks, magnetic tape, and RAID drives; compare alternative implementations of data paths; discuss control points and the generation of control signals using hardwired or microprogrammed implementations; explain basic instruction level parallelism using pipelining and describe hazards that may occur; implement parallel processing beyond the classical von Neumann model; and describe alternative architectures such as SISD (Single Instruction, Single Data), SIMD (Single Instruction, Multiple Data), MISD (Multiple Instruction, Single Data), and MIMD (Multiple Instruction, Multiple Data), and VLIW (Very Long Instruction Word).
Major topics include introduction to various hardware and software components necessary to process information digitally, as defined by the structure and architecture of computers and their organizations; components and layers of the computing systems - electronic gates and progressing to higher level software; and main roles and components of the ALU, CPU, main memory, I/O.
In the upper division baccalaureate degree category, 3 semester hours in Computer Science or as an elective in Electrical and Computer Engineering (8/24).
135 hours (15 weeks).
September 2023 - Present.
Upon successful completion of the course, students will be able to: discuss the details of various types of advanced data structures, know how and when to use them, and evaluate their efficiency: implement bubble, selection, insertion, shell, quick, merge and heapsort; implement linear, binary and interpolation search; optimize sorts where possible; compare and contrast different searching and sorting algorithms; implement algorithms to find min and max of binary trees and predecessors and successors of given nodes; identify and define balanced binary trees, self-balancing binary search trees (red-black and AVL), multiway search trees, B trees, B+ trees; describe insertion and traversal algorithms for various self-balancing binary search trees and multiway search trees; differentiate between and understand practical applications of different trees; identify and list practical applications of heaps, hash tables and graphs; perform simple operations on heaps and graphs; represent heaps and graphs in multiple ways; address hash table collisions in multiple ways; and analyze time complexities of all algorithms.
Major topics include evaluation of algorithms, sorting algorithms - bubble; selection; insertion; merge; quick; shell; and tree sorts; heaps and heapsort; searching techniques – linear; binary; interpolation; Trees - B-trees; B+ trees; Red-Black trees; AVL trees; hashing; and graphs.
In the upper division baccalaureate degree category, 3 semester hours in Computer Science (8/24).