KSAWorks
KSAWorks
Knowledge • Skills • Abilities
Inver Hills Community College · Courses

CS

8 courses with the subject CS, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.

CS 1101Introduction to Computer Science and Problem Solving3

Provides an overview of computer science topics with an emphasis on problem-solving and algorithm development. This course is geared for students with no computer science or programming background and can serve as a solid foundation for further studying computer science. Algorithm development will be taught using pseudocode and diagrams. Computer programs will be written utilizing one or more computer languages. Topics to be included are computer architecture, networks, Boolean logic, and computer ethics. Pre-Requisites MATH 1118 Major Content Areas 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. 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 computer system organization. Introduction to data communications and networks. Learning Outcomes Describe the Von Neumann architecture and interaction between the processor and memory. 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. Explain 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. Describe algorithms and their role in solving problems. Develop algorithmic solutions using appropriate programming structures. 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. Demonstrate the ability to select an appropriate algorithm for solving a problem. Implement algorithms with a high-level programming language and provide simple documentation. Express numbers in binary format. Express and simplify Boolean expressions.

Subject
CS
Credits (min)
3
Credits (max)
3
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 1110Computer Programming with Java4

Focuses on the use of the Java language to provide a comprehensive introduction to fundamental programming concepts for students interested in exploring computer programming. Program logic, algorithm design, object-oriented programming, and fundamental programming structures are emphasized. Course activities focus on the use of Java to design, code, debug, and test programs of moderate complexity. Gaining knowledge of these concepts and techniques will prepare the student to develop programs to solve real-life problems. Pre-Requisites MATH 1118 Major Content Areas Input/output using standard input/output. Input/output using secondary storage. Convert mathematical formulas into equivalent programming language expressions. Convert an algorithm in pseudocode or diagrams into a high-level programming language. Create appropriate test cases to verify the correctness of the program. Sequential structures. Selection structures. Repetition structures. Use structured programming concepts to write efficient and elegant programs. Modularization, procedures, and functions with use of parameters. Employ recursion. Arrays. Sequential and binary search. Insertion, selection, and bubble sort. Pointers/Object References. Introduction to objects. Learning Outcomes Apply consistent documentation and program style standards that contribute to the readability and maintainability of software. Develop, design, analyze, and implement logic within a program that solves a problem with a finite number of operations. Design and develop programs that implement fundamental logic structures of sequence, selection, and repetition. Write programs that uses file I/O to provide persistence across multiple executions. Develop proficiency in specification and use of appropriate primitive data types and their aggregation into simple linear data structures. Decompose problems into clearly defined sub-problems based on program requirements.Implement algorithms utilizing recursive structures. Create appropriate test cases and use debugging skills to verify correctness of output.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 1117Computer Programming with Python4

Focuses on the use of the Python language to provide a comprehensive introduction to fundamental programming concepts for students interested in exploring computer programming. Program logic, algorithm design, object-oriented programming, and fundamental programming structures are emphasized. Course activities focus on the use of Python to design, code, debug, and test programs of moderate complexity. Gaining knowledge of these concepts and techniques will prepare the student to develop programs to solve real-life problems. Pre-Requisites MATH 1118 Major Content Areas Input/output using standard input/output. Input/output using secondary storage. Convert mathematical formulas into equivalent programming language expressions. Convert an algorithm in pseudocode or diagrams into a high-level programming language. Create appropriate test cases to verify the correctness of the program. Sequential structures. Selection structures. Repetition structures. Use structured programming concepts to write efficient and elegant programs.Modularization, procedures, and functions with use of parameters. Employ recursion. Arrays. Sequential and binary search. Insertion, selection, and bubble sort. Pointers/Object References. Introduction to objects. Learning Outcomes Apply consistent documentation and program style standards that contribute to the readability and maintainability of software. Develop, design, analyze, and implement logic within a program that solves a problem with a finite number of operations. Design and develop programs that implement fundamental logic structures of sequence, selection, and repetition. Write programs that uses file I/O to provide persistence across multiple executions. Develop proficiency in specification and use of appropriate primitive data types and their aggregation into simple linear data structures. Decompose problems into clearly defined sub-problems based on program requirements. Implement algorithms utilizing recursive structures. Create appropriate test cases and use debugging skills to verify correctness of output.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 1119Computer Programming with C++4

Focuses on the use of the C++ language to provide a comprehensive introduction to fundamental programming concepts for students interested in exploring computer programming. Program logic, algorithm design, object-oriented programming, and fundamental programming structures are emphasized. Course activities focus on the use of C++ to design, code, debug, and test programs of moderate complexity. Gaining knowledge of these concepts and techniques will prepare the student to develop programs to solve real-life problems. Pre-Requisites MATH 1118 Major Content Areas Input/output using standard input/output. Input/output using secondary storage. Convert mathematical formulas into equivalent programming language expressions. Convert an algorithm in pseudocode or diagrams into a high-level programming language. Create appropriate test cases to verify the correctness of the program. Sequential structures. Selection structures. Repetition structures. Use structured programming concepts to write efficient and elegant programs.Modularization, procedures, and functions with use of parameters. Employ recursion. Arrays. Sequential and binary search. Insertion, selection, and bubble sort. Pointers/Object References. Introduction to objects. Learning Outcomes Apply consistent documentation and program style standards that contribute to the readability and maintainability of software. Develop, design, analyze, and implement logic within a program that solves a problem with a finite number of operations. Design and develop programs that implement fundamental logic structures of sequence, selection, and repetition. Write programs that uses file I/O to provide persistence across multiple executions. Develop proficiency in specification and use of appropriate primitive data types and their aggregation into simple linear data structures. Decompose problems into clearly defined sub-problems based on program requirements.Implement algorithms utilizing recursive structures. Create appropriate test cases and use debugging skills to verify correctness of output.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 2200Computer System Architecture4

Explore the fundamentals of computer systems architecture as it relates to the execution of a program. This course will examine how memory and processors work and how programming fundamentals take advantage of the computer system architecture. The course will utilize assembly language and other tools to demonstrate the interaction of computer hardware and software. Pre-Requisites CS 1119 Major Content Areas Boolean algebra and simplification, simple combinational and sequential logic design, Storage system concepts, types, and operations (12%) Basic operation and organization of the Von Neumann machine architecture (6%) Binary representation of different types of data (6%) Performance improvements such as by super-scalar, pipe-lining, multi-threading, vector processors, and GPUs (12%) Machine instruction set formats and architectures (6%) Fundamental concepts of I/O and buses (12%) Memory cache and virtual memory: concepts and operations (12%) Machine language concepts, characteristics, and programming (17%) Evolution of computer architecture and influence on development of systems (7%) Learning Outcomes Represent numeric and text data in current standard formats and convert between numeric formats. Discuss different I/O and storage devices and mechanisms including bus protocols, interrupts, and interfaces. Describe machine instruction formats and discuss features and differences of instruction set formats and architectures. Describe instruction execution cycle and how the processor and memory work Describe Quantum computing, neural networks, DNA data storage and other emerging technologies. Explain Flynn’s revised taxonomy including SISD, SIMD, MISD, and MIMD; categorize current systems in this taxonomy. Write assembly language programs that incorporate standard programming structures, subroutines, I/O and macros. List and compare the different architecture categories and describe emerging technologies. Discuss concurrency techniques to bypass performance bottleneck including pipe lining, super-scalar, multi-core, and multi-threading. Describe the memory hierarchy including different levels and optimization strategies such as cache and virtual memory. Design and implement simple computational and sequential logic circuits.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 2280Special Topics in Computer Science

Variable Credits Y Studies new emerging computer science topics, languages, systems, applications and problem solving approaches. Specific topics and applications will be determined by the instructor and published in the class schedule. Prereq: Dependent upon the topic presented. Major Content Areas Will vary with the topic and the instructor Learning Outcomes Distinguish benefits of the new computer science development or application. Evaluate the usefulness of the material to their specific situation. Describe and apply practical aspects and processes related to the specialized topic. Identify and explain concepts and principles related to the specialized computer science topic.

Subject
CS
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 2300Algorithms and Data Structures4

Introduces procedural and data abstraction. Includes elementary abstract data types including lists, stacks, queues, and their applications. Includes intermediate abstract data types including trees, priority queues, heaps, hash tables, and their applications. Topics also include recursion and graph theory. Pre-Requisites CS 2200 Major Content Areas Static & dynamic implementations of: linked lists, stacks, and queues (22%) Introduction to object-oriented programming (7%) Graph theory (7%) Abstract Data Types (6%) Generic Objects (7%) Recursion (7%) Sorting: quicksort, merge sort, heap sort, shell sort, and radix sort (10%) Hashing and collision strategies (7%) Trees, traversals, and heaps (20%) Algorithm analysis (7%) Learning Outcomes Identify appropriate use of and implement statically allocated data structures. Implement recursive and iterative algorithms over appropriate data structures (e.g., tree traversal, pre-order, and post-order) Analyze recursive and iterative algorithms for space-time complexity Identify appropriate use of and implement dynamically allocated data structures. Develop and implement a dictionary data type incorporating hashing algorithms and collision avoidance. Implement algorithms and underlying data structures utilizing standard object oriented design principles. Write programs that use each of the following data structures: arrays, records/structs, strings, linked lists, stacks, and queues

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu
CS 2350Discrete Structures of Computer Science4

Introduces the theoretical concepts of computer science, number systems, coding schemes, formal logic, sets and relations, induction, recursion, recurrences, graphs, proofs of program correctness, analysis of algorithms, asymptotic complexity measure and advanced level. Credit will not be awarded for both MATH 2100 and CS 2350. Pre-Requisites CS 1110 , CS 1119 , CS 2300 , MATH 1118 , MATH 1119 , MATH 1127 Major Content Areas Elementary graph theory and applications (14%) algorithm analysis (7%) Recurrence relations (7%) Elementary number theory and applications (14%) Relations and functions (14%) Mathematical induction, including both strong and weak induction (17%) Combinatorics and probability (7%) Logic and Proof (14%) Elementary set theory (6%) Learning Outcomes Use graphs and trees to solve problems algorithmic-ally. Solve problems involving sets, relations, functions and congruence. Illustrate the basic terminology and properties of graphs and trees. Perform computations using recursively defined functions and structures. Examine the logical validity of arguments and proofs as they apply to Boolean expressions. Use methods of combinatorics to solve counting and basic probability problems. Describe how symbolic logic can be used to model real-life situations or applications, including those arising in computing contexts such as software analysis (e.g., program correctness), database queries and algorithms. Apply mathematical induction and other techniques to prove mathematical results. Minnesota Transfer Curriculum (MNTC) Goals 04 - Mathematical/Logical Reasoning

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 IHCC Catalog
Source
catalog.inverhills.edu

Source: Inver Hills Community College's catalog, linked per course · table learning_unit · CourseShelf publish 61