Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Computer Science 304: A Survey of Computer Science for Non-Majors

Course Overview:

Computer Science 304 is a survey course designed to provide an introduction to various computing
topics for non-majors. The course is structured to give students a broad understanding of different
subjects within computer science rather than in-depth knowledge. The topics covered in this course
include computing hardware, data representation, data compression, computer graphics, sorting
algorithms, artificial intelligence techniques, databases, networks, security, and privacy. This course aims
to make computer science accessible to students without a technical background and enable them to
appreciate the impact of computing in various fields.

Computing Hardware:

The course begins with an introduction to computing hardware. Students will learn about the different
components that make up a computer, including the central processing unit (CPU), memory,
input/output devices, and storage devices. They will also be introduced to the concept of the Von
Neumann architecture, which is a basic model of a computer that has a central processing unit, memory,
input/output devices, and a bus to connect them. Students will also learn about the different types of
computer architectures, such as RISC, CISC, and parallel architectures, and how they differ from each
other.

Data Representation:

In this module, students will learn about how data is represented in a computer. They will learn about
different number systems such as binary, decimal, and hexadecimal, and how data is stored in memory
using these number systems. They will also be introduced to ASCII and Unicode character encoding and
how they are used to represent text in computers. Students will learn about the different data types,
such as integers, floating-point numbers, and characters, and how they are represented in memory.

Data Compression:

In this module, students will learn about data compression techniques that are used to reduce the size
of data for storage and transmission. They will learn about lossless and lossy compression techniques
and their applications. Students will also learn about different compression algorithms, such as Huffman
coding and Lempel-Ziv-Welch (LZW) algorithm, and their applications in data compression.
Computer Graphics:

In this module, students will learn about computer graphics and how they are created and displayed.
They will learn about the different types of graphics, such as raster and vector graphics, and how they
differ from each other. Students will also learn about color models and how they are used in computer
graphics. They will be introduced to the graphics pipeline, which is the process by which graphics are
created, transformed, and displayed on a computer screen. Students will also learn about different
graphics libraries, such as OpenGL and DirectX, and their applications in computer graphics.

Sorting Algorithms:

In this module, students will learn about sorting algorithms that are used to arrange data in a specific
order. They will be introduced to different sorting algorithms, such as bubble sort, selection sort,
insertion sort, merge sort, and quicksort. Students will learn about the time and space complexity of
these algorithms and their applications in different fields.

Artificial Intelligence Techniques:

In this module, students will learn about artificial intelligence techniques, such as machine learning,
deep learning, and natural language processing. They will be introduced to different types of machine
learning, such as supervised and unsupervised learning, and their applications. Students will learn about
different neural network architectures, such as feedforward and recurrent neural networks, and their
applications in deep learning. They will also learn about natural language processing techniques, such as
text classification, sentiment analysis, and machine translation.

Databases:

In this module, students will learn about databases and their applications in various fields. They will
learn about different types of databases, such as relational and NoSQL databases, and how they differ
from each other. Students will be introduced to the SQL language, which is used to query relational
databases. They will

You might also like