Mar 28, 2024  
2020-2021 Course Catalog 
    
2020-2021 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

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.
MnTC Goals
None

Prerequisite(s): Course placement into MATH 0070  or above or completion of MATH 0030  with a grade of C or higher.
Corequisite(s): None
Recommendation: Basic computer competency (use of keyboard, mouse, Windows).

Major Content
  1. Concept of an algorithm as a basis for computer science
  2. Algorithm design, use in problem-solving, and basic performance metrics
  3. Overview of programming languages and paradigms
  4. Common programming structures and their use in algorithms
  5. Introduction to binary numbers
  6. Introduction to Boolean algebra
  7. Introduction to database concepts and practices
  8. Introduction to computer system organization
  9. Introduction to data communications and networks
  10. System software (including operating systems, language translation)
  11. Emerging technologies (e.g. cloud computing, data analytics, mobile computing, internet of things, and artificial intelligence)
  12. Application software including database, internet, and electronic commerce
  13. The role of games, simulation, and virtual reality in society
  14. Overview of occupations in computing-related fields
  15. Security, privacy, ethics, and other societal and legal issues
  16. Digital systems evolution and impact on society and the economy

Learning Outcomes
At the end of this course, students will be able to:

  1. describe algorithms and their role in solving problems.
  2. develop or select appropriate algorithmic solutions to solve programming problems.
  3. express algorithms using pseudocode, flow-charts or other design notation.
  4. demonstrate knowledge of common algorithms, such as binary search, finding the minimum/maximum value in a list, and quadratic sort.
  5. implement algorithms with a high-level programming language and provide simple documentation.
  6. express numbers in binary format.
  7. express and simplify Boolean expressions.
  8. apply database management and SQL concepts and techniques to design, create, query and modify a database.
  9. describe the von Neumann architecture and interaction between the processor and memory.
  10. explain how data communication works and give examples of networks.
  11. explain the role of the operating system in a digital system.
  12. describe emerging technologies such as cloud computing, artificial intelligence, data analytics and others.
  13. describe different types of application software including database, internet, and games.
  14. assess security and privacy threats and describe measures to prevent them.
  15. describe the evolution of digital systems and their past, present, and potential future impact on human society.

Competency 1 (1-6)
None
Competency 2 (7-10)
None


Courses and Registration



Add to Portfolio (opens a new window)