Dec 06, 2023
CSCI 1071 - Introduction to Computing and Problem Solving Credits: 4
Hours/Week: Lecture 4 Lab None
Course Description: This course introduces students to the field of Computer Science. The course will present an overview of the many different areas which make up this diverse field. Fundamental concepts and practices employed in the field will be introduced. Knowledge about problem solving, programming, working with and representing data and understanding computers and the Internet will be gained through first-hand experience. Current and future technological trends such as cloud computing, data analytics and artificial intelligence will be presented. Societal and ethical issues such as privacy, security and automation will also be addressed.
Prerequisite(s): Course placement into MATH 0070 or above or completion of MATH 0030 with a grade of C or higher.
Recommendation: Basic computer competency (use of keyboard, mouse, Windows).
- Concept of an algorithm as a basis for computer science
- Algorithm design, use in problem-solving, and basic performance metrics
- Overview of programming languages and paradigms
- Common programming structures and their use in algorithms
- Introduction to binary numbers
- Introduction to Boolean algebra
- Introduction to database concepts and practices
- Introduction to computer system organization
- Introduction to data communications and networks
- System software (including operating systems, language translation)
- Emerging technologies (e.g. cloud computing, data analytics, mobile computing, internet of things, and artificial intelligence)
- Application software including database, internet, and electronic commerce
- The role of games, simulation, and virtual reality in society
- Overview of occupations in computing-related fields
- Security, privacy, ethics, and other societal and legal issues
- Digital systems evolution and impact on society and the economy
At the end of this course, students will be able to:
- describe algorithms and their role in solving problems.
- develop or select appropriate algorithmic solutions to solve programming problems.
- express algorithms using pseudocode, flow-charts or other design notation.
- demonstrate knowledge of common algorithms, such as binary search, finding the minimum/maximum value in a list, and quadratic sort.
- implement algorithms with a high-level programming language and provide simple documentation.
- express numbers in binary format.
- express and simplify Boolean expressions.
- apply database management and SQL concepts and techniques to design, create, query and modify a database.
- describe the von Neumann architecture and interaction between the processor and memory.
- explain how data communication works and give examples of networks.
- explain the role of the operating system in a digital system.
- describe emerging technologies such as cloud computing, artificial intelligence, data analytics and others.
- describe different types of application software including database, internet, and games.
- assess security and privacy threats and describe measures to prevent them.
- describe the evolution of digital systems and their past, present, and potential future impact on human society.
Competency 1 (1-6)
Competency 2 (7-10)
Courses and Registration
Add to Portfolio (opens a new window)