[{"_id":"69d97177fb1e222be6424dec","programmingLanguage":["Java"],"learningOutcomes":["Explain what an algorithm is and design algorithms to solve problems","Choose an appropriate problem solving technique for developing an algorithmic solution to a problem","Apply concepts of Object Oriented Programming","Trace the execution of a computer program","Test and debug a computer program","Students will collect, evaluate and interpret information and effectively use information technologies","Students will use quantitative skills and concepts and methods of mathematics to solve problems"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Teamwork skills & Communication","memory allocation","Evaluating Time/Space Complexity","Exception Handling"],"syllabusSource":"Manual search","courseID":"M1","country":"USA","uniName":"City university of New York - Manhattan","courseCode":"CSC 110  ","courseName":"Computer Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.bmcc.cuny.edu/cis/upload/csc110.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424ded","programmingLanguage":["C"],"learningOutcomes":["introduction to modern problem solving and programming methods using C.","Topics include Unix; representation of integer, floating point, and character data; declarations; loops and conditionals; functions and parameter passing; searching and sorting; structured data types; and pointers."],"LOCategories":["Basic OOP","Polymorphism","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Pointers","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M2","country":"USA","uniName":"Clemson University","courseCode":"CPSC 1010  ","courseName":"Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"No","forMajors":null,"courseStage":null,"courseSemester":"1","instructionLanguage":"English","url":"https://people.cs.clemson.edu/~chochri/wordpress/?page_id=478","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424dee","programmingLanguage":["None"],"learningOutcomes":["Problem solving using a high level programming language","object oriented software design.","problem specification, program design, implementation, testing, and documentation","using classes, defining classes, and extending classes","Introduction to algorithms and data structures useful for problem solving: arrays, lists, files, searching, and sorting"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Code Manipulation","Teamwork skills & Communication","Basic OOP","Encapsulation","Repitition & loops (for/while etc)","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","memory allocation"],"syllabusSource":"Manual search","courseID":"M3","country":"USA","uniName":"University of Kansas","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":"1","instructionLanguage":null,"url":"http://www.eecs.ku.edu/courses#168","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424def","programmingLanguage":["None"],"learningOutcomes":["developing problem solving techniques by focusing on the imperative and object-oriented styles using Abstract Data Types","Basic data structures such as stacks, queues, and trees will be covered","Basic notions of algorithmic efficiency and performance analysis in the context of sorting algorithms","Basic Object-Oriented techniques"],"LOCategories":["Problem Solving (also things like computational thinking)","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Arrays, Lists, dictionaries, vectors, sets","Sorting Algorithms","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M4","country":"USA","uniName":"University of Kansas","courseCode":"EECS 268","courseName":"Programming 2","associatedDegrees":"Computer Science","prerequisites":"EECS 168 Programming 1","forMajors":"yes","courseStage":null,"courseSemester":"2","instructionLanguage":null,"url":"http://www.eecs.ku.edu/courses#268","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424df0","programmingLanguage":["C++"],"learningOutcomes":["Use problem-solving strategies to develop an algorithmic solution to a problem. ","Develop procedural programming skills in a high-level programming language. ","Demonstrate an understanding of data representation.","Implement an algorithm in a high-level programming language.","Successfully use a program development environment. ","Competently demonstrate programming-related communication skills."],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Teamwork skills & Communication","Variables, assignment, arithmetic expressions, declarations, data types","IDE use","Information Representation"],"syllabusSource":"Manual search","courseID":"M5","country":"USA","uniName":"Baylor University","courseCode":"CSI 1430","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://cs.ecs.baylor.edu/~maurer/CSI1430/Fall%202007%20Outline.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424df1","programmingLanguage":["None"],"learningOutcomes":["expose students to the fundamentals of using computers and information technology to solve problems","introduction to critical thinking and fundamental problem solving skills","introduces programming concepts which are “brought-to-life” using a simple graphical programming environment","This module uses database software to introduce the theory of data storage, security, collation and management, and information extraction."],"LOCategories":["How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Security","Simple Graphics & GUIs","Information Technology & Data Science skills"],"syllabusSource":"Manual search","courseID":"M6","country":"South Africa","uniName":"Rhodes University","courseCode":"Csc112","courseName":"Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.ru.ac.za/computerscience/studying/servicelearning/computerscience112/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424df2","programmingLanguage":["C++","C"],"learningOutcomes":["Topics include the structure and operation of a computer","concepts and properties of algorithms and programming languages, and program design and implementation.","The course will teach the fundamentals of good program design and implementation using C and C++"],"LOCategories":["Developing good program Design methodology & styling","Designing Algorithms","How Computers & computational systems work & history of computing"],"syllabusSource":"Manual search","courseID":"M7","country":"USA","uniName":"City University of New York","courseCode":"CSc 102","courseName":"Introduction to Computing","associatedDegrees":"Computer Science","prerequisites":"Math 101","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www-cs.ccny.cuny.edu/~wolberg/cs102/course.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424df3","programmingLanguage":["None"],"learningOutcomes":["Apply fundamental programming concepts, using a functional programming language, to solve simple problems.","Understand basic types and the benefits of static typing.","Distinguish language definition from implementation, syntax and parsing from semantics and evaluation.","Describe, understand and evolve programs, via documentation, testing, and debugging.","Discuss, use, and apply the fundamentals of data structures, algorithms, and design; create, implement, and debug algorithms for solving simple problems, including recursively, using divide-and-conquer, and via decomposition.","Discuss basic algorithmic analysis for simple algorithms; determine appropriate algorithmic approaches to a problem (brute-force, greedy, divide-and-conquer, recursive backtracking, heuristic, dynamic programming).","Describe and apply alternative computational paradigms to simple problems.","Understand the legal context for protection of software as intellectual property."],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Evaluating Time/Space Complexity","Functional Programming"],"syllabusSource":"Manual search","courseID":"M8","country":"USA","uniName":"The University of Rhode Island","courseCode":"CSC101","courseName":"Computing Concepts","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"https://programsandcourses.anu.edu.au/2018/course/COMP1100","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424df4","programmingLanguage":["Prolog","Gofer"],"learningOutcomes":["Logic Programming concepts: logical variables, facts, goals, rules, compound terms, lists, unification, backtracking, recursion, extra-logical predicates: negation, cuts and findall predicates","Functional programming concepts: built-in types, functional decomposition, lists, strings, tuples, variables, simple pattern matching, guarded equations, recursion, lazy evaluation, infinite data structures, enumerated types, polymorphism, higher-order functions.","Search methods: linear and binary search","Sort methods: bubble sort, insertion sort, merging sort and quick-sort"],"LOCategories":["Polymorphism","Data Structures (general or implied complex like stacks, queues etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Functional Programming","Recursion"],"syllabusSource":"Manual search","courseID":"M9","country":"Portugal","uniName":"University of Porto","courseCode":null,"courseName":"Computer Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"https://www.dcc.fc.up.pt/LCC_i/hlic_ing_5.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424df5","programmingLanguage":["C"],"learningOutcomes":["Concepts of imperative structured programming: control constructs, loops, functions and program structure, recursion, arrays and pointers, call by value and call by reference, external variables, scope rules, structures, Input and Output.","Programming design techniques: top down structured design and modular design","The use of make and makefiles in implementation.","Implementation of searching and sorting algorithms in the C language.","Basic abstract data types: lists, stacks, queues and trees. Their representation using arrays and/or dynamic variables."],"LOCategories":["Data Structures (general or implied complex like stacks, queues etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O","Scope of code","Recursion","Information Representation"],"syllabusSource":"Manual search","courseID":"M10","country":"Portugal","uniName":"University of Porto","courseCode":null,"courseName":"Computer Programming 2","associatedDegrees":"Computer Science","prerequisites":"Computer Programming 1","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"https://www.dcc.fc.up.pt/LCC_i/hlic_ing_6.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424df6","programmingLanguage":["None"],"learningOutcomes":["Evidence knowledge of basic concepts and principles of object-orientation such as objects and classes, encapsulation, object state, coupling, cohesion and modularity.","Show awareness of basic principles of software design and development including appropriate naming of variables and classes, code lay out, testing and debugging, and documentation.","Demonstrate knowledge of fundamental imperative programming concepts such as variables and assignment, conditional statements, loops and methods."],"LOCategories":["Generating clear documentation","Basic OOP","Classes & objects","Encapsulation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Coupling & Cohesion concepts "],"syllabusSource":"Manual search","courseID":"M11","country":"England","uniName":"University of Sussex","courseCode":"G5066","courseName":"Introductionto Programming","associatedDegrees":null,"prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"http://www.sussex.ac.uk/ei/internal/coursesandmodules/informatics/ugcourses/2013/G5005U/46280","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424df7","programmingLanguage":["C++"],"learningOutcomes":["Problem solving approaches using top-down design and decomposition into sub-problems, stepwise methodology of developing and algorithm","Programming Constructs; basic data types; constants and variables, aarithmetic and logical expressions assignment; input-output, interface; control structures","Introduction to object oriented programming paradigms; data abstraction and encapsulation, objects and classes"],"LOCategories":["Designing Algorithms","Basic OOP","Abstraction","Classes & objects","Encapsulation","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M12","country":"India","uniName":"University of Delhi","courseCode":"CSHT-101","courseName":"Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"http://www.du.ac.in/du/uploads/old-ug-courses/2352011_ComputerSc_BSC-H.PDF","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424df8","programmingLanguage":["Java"],"learningOutcomes":["master basic programming concepts (e.g. algorithms, variables, statements, decisions, objects and classes, iterations, functions and arrays)","design, program, and debug object-oriented programs with graphical user interfaces using the an object-oriented programming language (Java)","continue learning programming on their own by reading through programming reference material"],"LOCategories":["Writing programs","Designing Algorithms","Basic OOP","Classes & objects","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M13","country":"Philippines","uniName":"Ateneo de Manila University","courseCode":"CS 21A","courseName":"Introduction to Computing 1","associatedDegrees":"Computer Science, Information Systems","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"chrome-extension://gbkeegbaiigmenfmjfclcdgdpimamgkj/views/app.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424df9","programmingLanguage":["Python"],"learningOutcomes":["an ability to apply knowledge of mathematics, science, and engineering","an ability to design and conduct experiments, as well as to analyze and interpret data","an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health, and safety, manufacturability, and sustainability","Understand and apply structured programming concepts by elaborating on sequential, selective, repetitive structures, such as statements, if/switch/case statements, for/while statements and functions.","an ability to identify, formulate, and solve engineering problems","Understand the concept of basic data types, such as int, float, bool as well as container data types, such as list, tuple, string.","an ability to communicate effectivelythe broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context ","Understand and use how information is represented in a modern computer and how instructions are executed.","an ability to apply design and development principles in the construction of software systems of varying complexity.","Interpret a computational problem specification and algorithmic solution and implement a solution in Python to solve that problem."],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Information Representation"],"syllabusSource":"Manual search","courseID":"M14","country":"Turkey","uniName":"Middle East Technical University ","courseCode":"CENG111","courseName":"Introduction to Computer Engineering Concepts","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"https://catalog.metu.edu.tr/course.php?prog=571&course_code=5710111","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424dfa","programmingLanguage":["None"],"learningOutcomes":["Identify core characteristics of computational systems","Describe the purpose and operation of a range of individual computational concepts, as exemplified in more than one programming language","Explain the purpose and operation of partial and complete computations expressed in a range of notations at various levels of abstraction","Apply computational understanding to solve programming problems involving textual, numerical and graphical contexts","Amend computations to adjust their functionality","Identify and correct errors in computations expressed in a range of notations","Identify the application and emergence of computational concepts in artificial and natural systems, respectively"],"LOCategories":["How Computers & computational systems work & history of computing","Abstraction","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M15","country":"Scotland","uniName":"University of Glasgow","courseCode":"COMPSCI1016","courseName":"Computing Science 1CT Introduction to Computational Thinking ","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"http://www.gla.ac.uk/coursecatalogue/course/?code=COMPSCI1016","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424dfb","programmingLanguage":["None"],"learningOutcomes":["Produce top-level plans with refinements","Translate well-structured plans into working programs","Deploy testing strategies to identify and correct semantic errors in programs","Analyse programs with a view to assessing their complexity","Augment programs with error and event handling capabilities","Develop user-defined data structures as part of the solution to problems"," Incorporate advanced techniques in solutions to problems, e.g. recursion","Identify a number of standard algorithms, e.g. sorting and searching, and incorporate them effectively in solutions to problems","Communicate their understanding of problems and their solutions clearly"],"LOCategories":["Teamwork skills & Communication","Searching algorithms","Sorting Algorithms","Testing & Debugging code","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M16","country":"Scotland","uniName":"University of Glasgow","courseCode":"COMPSCI1017","courseName":"Computing Science 1Px Further Programming","associatedDegrees":"Computer Science","prerequisites":"CS1CT Introduction to Computational Thinking","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":null,"url":"http://www.gla.ac.uk/coursecatalogue/course/?code=COMPSCI1017","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424dfc","programmingLanguage":["Java"],"learningOutcomes":["Write syntactically correct code, and compile, execute, debug and test the resulting computer program","Understand the basic concepts of object-oriented software as implemented in Java","Know when and how to apply native and class data types, and program control statements","Interpret UML class diagrams in order to implement object-oriented software","Understand the importance of constructing maintainable code by using good design and code conventions","Apply object-oriented testing to validate their code"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Basic OOP","Control Structures & logic (if/else etc)","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","UML Modelling language"],"syllabusSource":"Manual search","courseID":"M17","country":"England","uniName":"University of Surrey","courseCode":"COM1027","courseName":"Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"https://modcat.surrey.ac.uk/ipo/2016-17/COM1027.htm?_ga=2.27923764.949620346.1500471834-2063157057.1500471834","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424dfd","programmingLanguage":["C++"],"learningOutcomes":["Use the rudiments of the environment and the resources available to help them program","Develop programs from an English description","Write programs on their own, independent of \"hand holding” by a TA or an instructor","Understand and use the basic programming constructs: types (built in types, basic provided types including arrays and strings, type construction), values (constants,variables, assignment statements, and expressions), control structures (sequential flow, conditional statements, and loops), and I/O (basic output to the screen and input from the keyboard, and file I/O)","Understand and use objects","Implement basic recursive algorithms.","Describe and use the basic ideas of some of the more advanced programming constructs,including exceptions, inheritance, and polymorphism","Understand and appreciate the importance of the following computer science concepts in modern programming; Abstraction, ADTs and Hidden Implementations, Debugging and Assurance of Correctness, Program Development"],"LOCategories":["Writing programs","Basic OOP","Abstraction","Classes & objects","Polymorphism","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Recursion","Exception Handling"],"syllabusSource":"Manual search","courseID":"M18","country":"USA","uniName":"Brigham Young University","courseCode":"CS142","courseName":"Introduction to Computer Programming","associatedDegrees":"computer science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":"1","instructionLanguage":null,"url":"https://cs.byu.edu/node/19944/47547","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424dfe","programmingLanguage":["Java"],"learningOutcomes":["develop Java programs using primitive types","use predefined classes in their programs such as Math, String and Random classes","read and understand Java programs that includes multiple methods, control flow, arrays, and inheritance\ndevelop Java programs with multiple classes and writing methods with control flow, arrays and including\n concepts of Inheritance and polymorphism ","develop Java programs applying Object Oriented Programming approach such as Inheritance, Polymorphism","understand the use of static methods and variables","understand searching and basic sorting algorithms","understand basics recursion and write simple program using recursion"],"LOCategories":["Writing programs","Basic OOP","Classes & objects","Polymorphism","Inheritance","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Sorting Algorithms","Recursion"],"syllabusSource":"Manual search","courseID":"M19","country":"USA","uniName":"Arizona State University","courseCode":"CSE110","courseName":"Principles of Programming with Java","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"http://cidse.engineering.asu.edu/wp-content/uploads/2012/12/CSE110-S12_Syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424dff","programmingLanguage":["Java"],"learningOutcomes":["Understand the basic concepts of Object-Oriented Programming","Learn the syntax of Java Programming Language","Write Java programs using class and object concepts","Incorporate decision and loop constructs in programs","Independently pick-up advanced Java program concepts later as needed"],"LOCategories":["Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)"],"syllabusSource":"Manual search","courseID":"M20","country":"USA","uniName":"Marquette University","courseCode":"COSC 1010","courseName":"Introduction to Computer Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"suggested","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.mscs.mu.edu/~praveen/Teaching/Fa11/OOP/Syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e00","programmingLanguage":["None"],"learningOutcomes":["Analyze and explain the behavior of simple programs involving the following fundamental programming\nconstructs: assignment, I/O (including file I/O), selection, iteration, functions","Write a program that uses each of the following fundamental programming constructs: assignment, I/O\n(including file I/O), selection, iteration, functions","Break a problem into logical pieces that can be solved (programmed) independently.","Develop, and analyze, algorithms for solving simple problems","Use a suitable programming language, and development environment, to implement, test, and debug\nalgorithms for solving simple problems","Write programs that use each of the following data structures (and describe how they are represented in\nmemory): strings, arrays, structures, and class libraries including strings and vectors","Explain and apply object-oriented design and testing involving the following concepts: data abstraction,\nencapsulation, information hiding","Use a development environment to design, code, test, and debug simple programs, including multi-file\nsource projects, in an object-oriented programming language"],"LOCategories":["Writing programs","Designing Algorithms","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Program Comprehension","Basic OOP","Abstraction","Encapsulation","Data Structures (general or implied complex like stacks, queues etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M21","country":"USA","uniName":"Illinois Institute of Technology","courseCode":"CS115","courseName":"Object Oriented Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://science.iit.edu/sites/science/files/field_uploads/course-descriptions/attachments/cs115.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e01","programmingLanguage":["None"],"learningOutcomes":["Analyze and explain the behavior of simple programs involving the following fundamental programming\nconstructs: assignment, I/O (including file I/O), selection, iteration, functions, pointers","Write a program that uses each of the following fundamental programming constructs: assignment, I/O\n(including file I/O), selection, iteration, functions, pointers","Break a problem into logical pieces that can be solved (programmed) independently","Develop, and analyze, algorithms for solving simple problems","Use a suitable programming language, and development environment, to implement, test, and debug\nalgorithms for solving simple problems.","Write programs that use each of the following data structures (and describe how they are represented in\nmemory): strings, arrays, structures, and class libraries including strings and vectors","Explain the basics of the concept of recursion","Write, test, and debug simple recursive functions and procedures","Explain and apply object-oriented design and testing involving the following concepts: data abstraction,\nencapsulation, information hiding, sub-classing, inheritance, templates","Use a development environment to design, code, test, and debug simple programs, including multi-file\nsource projects, in an object-oriented programming language.","Solve problems by creating and using sequential search, binary search, and quadratic sorting algorithms\n(selection, insertion)","Determine the time complexity of simple algorithms"],"LOCategories":["Designing Algorithms","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Program Comprehension","Basic OOP","Abstraction","Encapsulation","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Pointers","Searching algorithms","File handling & I/O","Testing & Debugging code","IDE use","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M22","country":"USA","uniName":"Illinois Institute of Technology","courseCode":"CS116","courseName":"Object Oriented Programming 2","associatedDegrees":"Computer Science","prerequisites":"CS115","forMajors":"y","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://science.iit.edu/sites/science/files/field_uploads/course-descriptions/attachments/cs116.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e02","programmingLanguage":["C++"],"learningOutcomes":["Understand how to build, compile, and run small scale programs from scratch.","Be able to understand programming logic and program structure (conditionals, loops, functions)","Be comfortable using and building different data types (int, string, float, struct, class)","Understand memory management (allocation, deallocation, usage of pointers)","Be able to debug and fix common programming errors","Be familiar with Object-Oriented programming (Classes, inheritence, Polymorphism)","Be able to write an algorithm and reason through the steps of each computation"],"LOCategories":["Writing programs","Program Comprehension","Basic OOP","Classes & objects","Polymorphism","Inheritance","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","memory allocation","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M23","country":"USA","uniName":"Tufts University","courseCode":"COMP 11","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.mshah.io/comp/11/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e03","programmingLanguage":["Python"],"learningOutcomes":["Simple programs: variables, assignment statements, arithmetic expressions, input and output statements","Control flow statements: if statements, while statements, for statements","Functions: declaration and calls, parameters, scope of variables","Data structures: lists, strings, dictionaries, lists of objects","Algorithms: at least one algorithm is presented in detail and introduces students to related topics such as scalability"],"LOCategories":["Designing Algorithms","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Scope of code"],"syllabusSource":"Manual search","courseID":"M24","country":"USA","uniName":"University of California Davis","courseCode":"ECS 10","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.ucdavis.edu/blog/ecs-10-introduction-programming/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e04","programmingLanguage":["C++"],"learningOutcomes":["Analyse, Design and interpret an algorithm","Program algorithms in an object oriented language such as C++","Use a computer to solve programming problems","Demonstrate computer programs in C++."],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Program Comprehension","Basic OOP"],"syllabusSource":"Manual search","courseID":"M25","country":"South Africa","uniName":"University of Johannesburg","courseCode":"CSC01A1","courseName":"Introduction to algorithm development","associatedDegrees":"Commputer Science","prerequisites":"no","forMajors":null,"courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://www.uj.ac.za/faculties/science/Documents/FINAL%20Science%20APK%20Undergraduate%20Yearbook%20for%202017.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e05","programmingLanguage":["None"],"learningOutcomes":["foundations of problem solving in software technology","The procedure of programming, how to develop a program. Problems and solutions. Principles of program development","The notions of constants, variables, types. Basic and complex data, file handling. Integer and real numbers, boolean values, characters.","The notion and usage of arrays, strings, records. Algorithmic structures. Basic algorithms for typical problems.","Basic building blocks of a programming language (assignment, input, output, branches, loops, procedures, functions, constants, variables, types). Development Environment. Linking, compiling and running a program."],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M26","country":"Hungary","uniName":"eotvos lorand university ","courseCode":null,"courseName":"Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":"1","instructionLanguage":null,"url":"https://www.elte.hu/en/programming-fundamentals","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e06","programmingLanguage":["C++"],"learningOutcomes":["Ability to use single and multi-dimension arrays","Ability to implement linear and binary searches","Ability to implement simple sorting algorithms","Ability to implement structured data types\n","Ability to define and implement a class","Ability to use fundamentals of object-oriented design"],"LOCategories":["Basic OOP","Classes & objects","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms"],"syllabusSource":"Manual search","courseID":"M27","country":"USA","uniName":"University of Texas Dallas","courseCode":"CS1337","courseName":"Computer Science 1","associatedDegrees":"Computer Science ","prerequisites":"CS1336","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://dox.utdallas.edu/syl65452","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e07","programmingLanguage":["Java"],"learningOutcomes":["elements of problem solving, including problem analysis, requirements and\nspecifications, top-down design, algorithm development (including recursion), and stepwise\nrefinement","software development principles, such as data and operation abstraction, encapsulation,\nmodularity, reuse, exception handling, documentation, and testing","aspects of computing, such as algorithms to solve searching and other problems,\ngraphical user interfaces, event-driven programming, and file access","a high-level programming language","some history of computing"],"LOCategories":["Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Generating clear documentation","Abstraction","Encapsulation","Searching algorithms","File handling & I/O","Recursion","Exception Handling","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M28","country":"USA","uniName":"University of Nebraska","courseCode":"CSCE155A","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"http://ace.unl.edu/ACEweb2011/CSCE155A_Syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e08","programmingLanguage":["Java","JavaScript"],"learningOutcomes":["Use systematic and structured approaches to design, develop an implement algorithms","Recognise and discuss key concepts in object oriented programming"," Analyse simple requirements in order to identify the basis for an object oriented design","Select and apply effective strategies for testing programs","Write documentation to describe the design, testing and use of software"],"LOCategories":["Writing programs","Designing Algorithms","Generating clear documentation","Basic OOP","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M29","country":"Scotland","uniName":"The Robert Gordon University ","courseCode":"CM1015","courseName":"Software Design and Development","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://www4.rgu.ac.uk/prospectus/modules/disp_moduleView_text.cfm?Descriptor=CM1015&Revision=3","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e09","programmingLanguage":["C++"],"learningOutcomes":["Trace execution of a C++ program containing assignment statements, conditionals, loops, multiple functions, strings, arrays, and nested blocks of code.","Write appropriately styled C++ code for programs using assignment statements, conditionals, loops, multiple functions, strings, arrays, and nested blocks of code","Understand and know how to apply top-down design approach","Understand and know how to use debugging and testing techniques","Detect and correct syntax errors in a C++ program","Detect and correct logic errors in a C++ program","Communicate and solve problems effectively as a member of a team"],"LOCategories":["Problem Solving (also things like computational thinking)","Teamwork skills & Communication","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Tracing execution of Program","Detecting syntax errors","Detecting logic errors"],"syllabusSource":"Manual search","courseID":"M30","country":"USA","uniName":"Drexel University","courseCode":"CS143","courseName":"Computer Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"https://www.cs.drexel.edu/~aalban/CS143/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e0a","programmingLanguage":["None"],"learningOutcomes":["Understand and apply concepts such as variables, conditionals, loops, functions, and arrays.","Write interactive programs that draw shapes and respond to mouse and kayboard input using the Processing Programming Language","Read simple pieces of code to explain their functions, trace code execution, and identify related errors"],"LOCategories":["Program Comprehension","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Tracing execution of Program"],"syllabusSource":"Manual search","courseID":"M31","country":"Canada","uniName":"University of Waterloo","courseCode":"CS 105","courseName":"Introduction to Computer Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://cs.uwaterloo.ca//current/courses/course_descriptions/cDescr/newCDescr/CS105","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e0b","programmingLanguage":["None"],"learningOutcomes":[" introduces imperative computer programming, which is a fundamental building block of computer science","The aim is to master the elements of a programming language and be able to put them together in order to construct programs using types, control structures, arrays, functions and libraries","An introduction to object orientation will be given","the student should understand the fundamental elements of a program, the importance of good program design and user-friendly interfaces","Students should be able to conduct basic program analysis and write complete elementary programs"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Program Comprehension","Basic OOP","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets"],"syllabusSource":"Manual search","courseID":"M32","country":"South Africa","uniName":"University of Pretoria","courseCode":"COS 151","courseName":"Imperative programming 1","associatedDegrees":"Computer Science","prerequisites":"Level 5 mathematics","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"Afrikaans or English","url":"http://www.up.ac.za/yearbooks/modules/view/COS%20151","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e0c","programmingLanguage":["Java"],"learningOutcomes":["An ability to apply knowledge of computing and mathematics appropriate to the discipline.","An ability to identify, formulate, and solve hardware and software computer engineering problems using sound\ncomputer engineering principles","An ability to effectively communicate technical information in speech, presentation, and writing","An ability to use current techniques, skills, and tools necessary for computing practice","write software that uses object-oriented design and its key concepts\nof encapsulation, inheritance, and polymorphism","create an event-driven program that has a graphical user interface\n(GUI) and components that the user of the program can interact\nwith (menus, buttons, etc)","interpret and create UML class diagrams that reflect the design of a\npiece of software","interpret and create UML object diagrams that reflect the runtime\nbehavior of software","explain the difference between stack allocation and heap allocation of memory","define standard computing vocabulary, such as scope, lifetime,\nclass, object, method, parameter, etc.","identify where and when to use constructs such as selection and\niteration in their programs","use an integrated development environment (such as Eclipse’s\nJDT) to perform typical program editing and navigation tasks","use various types of collections and their iterators in solving\nproblems involving multiple objects of the same type"],"LOCategories":["Teamwork skills & Communication","Basic OOP","Classes & objects","Encapsulation","Polymorphism","Inheritance","Functions, methods and procedures","memory allocation","IDE use","Scope of code","Simple Graphics & GUIs","UML Modelling language"],"syllabusSource":"Manual search","courseID":"M33","country":"USA","uniName":"University at Buffalo New York","courseCode":"CSE 115","courseName":"Introduction to Computer Science Majors 1","associatedDegrees":"Computer Science, Computer Engineering","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://www.cse.buffalo.edu//faculty/alphonce/cse115/documents/Syllabus-CSE115.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e0d","programmingLanguage":["C"],"learningOutcomes":["Design software solutions for simple problems","Design software solutions for larger problems using abstraction and interfaces","Distinguish between well-written programs and poorly written programs","Write programs using good programming style","Understand and appropriately use abstraction","Effectively use memory and pointers in C","Understand the low-level functioning of computers (memory, instructions)","Create and use simple dynamic data structures such as linked lists and trees","Know a range of sorting algorithms and be able to compare their performance","Explain the complexity of simple algorithms","Test and debug programs","Work in a team to develop software"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Designing Algorithms","Program Comprehension","Teamwork skills & Communication","Abstraction","Abstract Classes & Interfaces","Data Structures (general or implied complex like stacks, queues etc)","Pointers","Sorting Algorithms","memory allocation","Testing & Debugging code","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M34","country":"Australia","uniName":"University of New South Wales","courseCode":"COMP1511","courseName":"Introduction to Computing","associatedDegrees":null,"prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://webapps.cse.unsw.edu.au/cse/core/COMP1511.php","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e0e","programmingLanguage":["Java"],"learningOutcomes":["Analyze, explain, modify and expand a simple program in terms of fundamental programming constructs and concepts.","Describe the representation of numeric and character data, and discuss the use of primitive data types and builtin data structures","Design, implement, test and debug a program using basic computation, simple I/O, standard conditional and\niterative structures, and the definition of functions.\n","Discuss the importance of algorithms, identify the necessary properties of good algorithms and create\nalgorithms for solving simple problems.","Develop code that responds to exceptional situations during execution","Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction, inheritance, and\npolymorphism.","Design, implement, test, and debug simple programs in an object-oriented programming language."],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Designing Algorithms","“Fundamentals of Programming”","Basic OOP","Abstraction","Encapsulation","Polymorphism","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Exception Handling"],"syllabusSource":"Manual search","courseID":"M35","country":"Sweden","uniName":"Kth Royal Institute of Technology","courseCode":"ID1018","courseName":"Programming 1","associatedDegrees":"Computer Engineering, Electronics and Computer Engineering, Engineering and Economics, Information and Communication Technology, ","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"https://www.kth.se/student/kurser/kurs/ID1018-20132.pdf?l=en","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e10","programmingLanguage":["Java"],"learningOutcomes":["Appreciate the role of a high-level language within the context of a computer system.","Understand the program development process.","Understand the principles of program design and demonstrate their practical application.","Design, implement and test small software systems using a high-level language (currently Java) to conform to a specification","Demonstrate familiarity with a sophisticated interactive development environment"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M37","country":"Scotland","uniName":"University of Strathclyde","courseCode":"CS105","courseName":"Programming Foundations","associatedDegrees":"Computer Science, Computer and Electronic Systems, Software Engineering, Data Analytics","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://local.cis.strath.ac.uk/wp/teaching/undergraduate/syllabuses/cs105/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e0f","programmingLanguage":["Python"],"learningOutcomes":["Basic programming constructs such as if-then statements, loop control, functions, arrays, simple input-output, searching, and recursion.","Good programming techniques including top-down design, program documentation, modular design, all resulting in code that can be readily understood and used by other programmers.","The Python programming language","The basic internal operation of a computer, including the central processing unit, simple memory management, and the file system."],"LOCategories":["Developing good program Design methodology & styling","How Computers & computational systems work & history of computing","Generating clear documentation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Searching algorithms","File handling & I/O","Recursion"],"syllabusSource":"Manual search","courseID":"M36","country":"USA","uniName":"Smith College","courseCode":"CS111","courseName":"Introduction to Computer Science through Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.science.smith.edu/dftwiki/index.php/CS111_Syllabus","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e15","programmingLanguage":["Java"],"learningOutcomes":["design and implement simple programs based on informal problem specification","implement classes and methods when provided the informal specification","apply concepts and techniques of object-oriented programming","perform informal testing and debugging techniques","understand the interdependencies of an object-oriented program"],"LOCategories":["Writing programs","Basic OOP","Classes & objects","Functions, methods and procedures","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M42","country":"USA","uniName":"Auburn University","courseCode":"COMP1210","courseName":"Fundamentals of Computing 1","associatedDegrees":"Computer Science, Software Engineering","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.eng.auburn.edu/files/acad_depts/csse/syllabi/comp1210.2016.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e13","programmingLanguage":["Java"],"learningOutcomes":["teach you the skill of programming and the art of computer science","basic principles and concepts of object-oriented programming through a study of algorithms, data structures and software development methods in Java","Emphasizes both synthesis and analysis of computer programs."],"LOCategories":["Writing programs","Designing Algorithms","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)"],"syllabusSource":"Manual search","courseID":"M40","country":"USA","uniName":"University of Virginia","courseCode":"CS 1110","courseName":"Intro to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"optional depending on programming experience","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://cs1110.cs.virginia.edu/s15/syllabus.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e14","programmingLanguage":["C","C++"],"learningOutcomes":["write well-structured, correct, and efficient C++ code,","use good program design techniques and programming style in the code you write","analyze problems and design programming solutions to them,","use numerical techniques such as numerical root finding and matrix manipulation in solving scientific and engineering problems.\n"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M41","country":"USA","uniName":"University of Minnesota","courseCode":"CSci 1113","courseName":"Introduction to C/C++ Programming ","associatedDegrees":"Computer Science and Engineering","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www-users.cselabs.umn.edu/classes/Spring-2016/csci1113/index.php?page=syllabus","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e1a","programmingLanguage":["Java"],"learningOutcomes":["Problem solving and programming in Java","introduction to software engineering","procedural and data abstraction","elementary object-oriented programming","Programming techniques include at least one technique for searching and sorting an array and an introduction to file processing","At the end of the course students are expected to be able write good quality small (100..200 lines) programs that solve small interesting and relevant problems","Data types covered include primitive data types, strings, classes, arrays, array lists, and streams"],"LOCategories":["Problem Solving (also things like computational thinking)","Basic OOP","Abstraction","Classes & objects","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M47","country":"USA","uniName":"Temple University","courseCode":"CIS1068","courseName":"Program Design and Abstraction","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://cis.temple.edu/~giorgio/cis67/syllabus.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e18","programmingLanguage":["JavaScript"],"learningOutcomes":["be able to write simple programs in the corresponding programming language to solve a task, given the constraints on the inputs","be able to manually trace through a program to identify logical errors","be able to differentiate between logical errors, syntax errors, and run-time errors","be exposed informally to the concept of code specification in the form of comments in the code, explaining what are the expected inputs and outputs and what are the assumptions","know about what are some insecure functions to avoid (where applicable. e.g, CS1010)","be able to generate test cases on their own, with focus on boundary/special cases","be able to debug with printf or equivalent functions","be aware of common strategies and good practices of debugging with printf or equivalent functions","be able to identify opportunities to, and write, modularized code","be exposed to the concept of exception handling (where applicable, e.g., in CS1010S/FC, CS1010J)","be exposed to a debugger (where suitable tools are available, e.g., for CS1010, CS1010J)","introduction to good programming styles (e.g., naming convension, indentation, comments to explain complex logic)","Understand the concept of reusability and how a software application can be built on top of software libraries/packages (standard or third parties).","Be able to understand at a high level the compilation process (from pre-processing to compiling to linking), where applicable.","Develop a simple mental model of how a program is executed (CPU runs the code on data that is store in memory, function call leads to creation of call frames, which can explain recursion and variable scoping, etc) as a precursor to cs2100. For interpreted language, understand the role of virtual machine/interpreter","Understand the different data types and that there exists a representation of each in the memory, as well as the limitation of the representations due to limited number of bits","should expose students to interesting exercises from different areas of CS (e.g., sound processing for 1D array, image procession for 2D array, drawing shapes, etc.) with the help of third party libraries or libraries provided by SOC","should introduce] object-oriented programming"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Teamwork skills & Communication","Generating clear documentation","Basic OOP","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Scope of code","Tracing execution of Program","Detecting syntax errors","Detecting logic errors","Recursion","Exception Handling"],"syllabusSource":"Manual search","courseID":"M45","country":"Singapore","uniName":"National University of Singapore","courseCode":"CS1101S","courseName":"Programming Methodology","associatedDegrees":"Computing","prerequisites":null,"forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":null,"url":"http://www.comp.nus.edu.sg/~cs1101s/#approach","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e19","programmingLanguage":["Java"],"learningOutcomes":["summarise the fundamentals of computers","explain and follow the process of writing, compiling, and executing programs in high level programming languages, and infer how Java's \"write once, run anywhere\" strategy alters this process","distinguish between different primitive data types and where they should be used","identify the differences between primitive and complex (class) data types","write complicated mathematical expressions using operators and methods","utilise program input and output","create programs that use decision-making and repetition structures","develop step-by-step methods for solving elementary problems, and use\nthese methods to write appropriate computer programs","apply a strategy to reduce more complicated problems to a sequence of\nmethods","analyse simple programs to establish what the output and behaviour\nwould be","locate, identify, and fix errors in programs","construct and use simple classes in object-oriented programming","apply arrays to store and manipulate collections of data"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M46","country":"USA","uniName":"University of Manitobs","courseCode":"COMP 1010","courseName":"Introductory Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://intranet.umanitoba.ca/academic_support/catl/online/de/media/comp1010_syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e1f","programmingLanguage":["None"],"learningOutcomes":["Learn the fundamentals of computer programming","Develop critical thinking and problem solving skills","Think creatively to solve problems","Express solutions clearly and accurately","Be able to implement non-trivial programs in a high-level programming language","Develop programming maturity (confidence, willingness to experiment)"],"LOCategories":["“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Teamwork skills & Communication"],"syllabusSource":"Manual search","courseID":"M52","country":"USA","uniName":"University of Vermont","courseCode":"CS 021","courseName":"Programming 1","associatedDegrees":"Bachelor of Science in Computer Science, Bachelor of Science in Data Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.uvm.edu/ctl/?Page=resources-teaching/hybrid-courses/cs021/index.php","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e1e","programmingLanguage":["Java"],"learningOutcomes":["understand the origins and early development of computer science as an academic discipline as well as the basic issues underpinning the discipline.","employ programming principles in problem-solving.","explore the fundamentals of the object-oriented  programming (OOP) paradigm."],"LOCategories":["How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Basic OOP"],"syllabusSource":"Manual search","courseID":"M51","country":"USA","uniName":"Louisiana State University","courseCode":"CS 1350","courseName":"Introduction to Computer Science 1 for Majors","associatedDegrees":"Computer Science","prerequisites":"MATH 1550 or meets Dual enrollment criteria","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.csc.lsu.edu/~duncan/courses/csc1350-f15/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e24","programmingLanguage":["Python"],"learningOutcomes":["Students will write programs in the Python programming language.","Good program design methodology will be stressed throughout","study of some of the basic notions of computer science, including computer systems organization, files and some algorithms of fundamental importance"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Designing Algorithms","How Computers & computational systems work & history of computing","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M57","country":"USA","uniName":"Boston College","courseCode":"CS 1101","courseName":"Computer Science 1","associatedDegrees":"Computer Science ","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://courses.bc.edu/course/CSCI/1101","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e1d","programmingLanguage":["Java"],"learningOutcomes":["Understand and make proper use of core programming concepts such as data types, operators, and control structures in Java","Write human-readable code that complies with widely-accepted coding style guidelines","Develop programs that appropriately utilize object-oriented concepts such as abstract classes, inheritance, interfaces and polymorphism","Write effective in-code comments and generate documentation using JavaDoc tools","Employ effective unit-testing techniques using JUnit testing framework"],"LOCategories":["Developing good program Design methodology & styling","Generating clear documentation","Basic OOP","Abstraction","Polymorphism","Inheritance","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M50","country":"USA","uniName":"University of Pittsburgh","courseCode":"INFCI 0017","courseName":"Fundamentals of Object Oriented Programming","associatedDegrees":"Information Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.pitt.edu/~dmb72/syllabi/INFSCI_0017_Fall2013.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e23","programmingLanguage":["Java"],"learningOutcomes":["fundamental computer science concepts including algorithm development, problem decomposition, data types, variables, parameters, decision making, iteration, arrays, and 2D arrays","to implement programs consisting of several programmer defined data types and several hundred lines of code employing non trivial algorithms."],"LOCategories":["Writing programs","Designing Algorithms","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M56","country":"USA","uniName":"University of Texas at Austin","courseCode":"CS312","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"Credit with a grade of at least C- or registration for Mathematics 408C, 408K, or 408N","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.utexas.edu/~scottm/cs312/syllabus.htm","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e22","programmingLanguage":["R"],"learningOutcomes":["Introduction: R environment; using R interactively; getting help; R commands","Data Structures: Vectors, Matrices, Arrays, Lists, Dataframes.","Control Structures and Functions:","Input and Output"],"LOCategories":["Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M55","country":"USA","uniName":"University at Albany SUNY","courseCode":"Inf 523","courseName":"Fundamentals of Information Technology ","associatedDegrees":"Computer Science, Information Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.albany.edu/~gangolly/inf523Rfall2012syllabus.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e11","programmingLanguage":["None"],"learningOutcomes":["Describe the history of Computing Science and list some of the important devices,\ninnovations, and people that got us to where we are today","Relate Computing Science to a variety of other disciplines and describe how they are\ninterconnected with each other","Apply and use Computing Science tools and techniques to solve real-world problems","Research and learn about new ideas and areas in Computing Science and share those\nideas with others, all without direct guidance","Develop a personal understanding of how Computing Science affects his or her own life","Understand many different subject areas within Computing Science and how they are\nchanging our understanding of the field."],"LOCategories":["How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Teamwork skills & Communication","Exception Handling"],"syllabusSource":"Manual search","courseID":"M38","country":"USA","uniName":"Kansas State University","courseCode":"CS115","courseName":"Introduction to Computing Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://people.cs.ksu.edu/~russfeld/cis115spring2017/files/Syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e16","programmingLanguage":["Python"],"learningOutcomes":[" provide a core of computer science programming concepts and skills, and enough practice using them, that students will develop confidence in their ability to think computationally and to be solve problems via programming","the course provides an introduction to object-oriented programming, algorithmic design and analysis, web programming, and graphical user interfaces"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Basic OOP","Web Development","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M43","country":"USA","uniName":"University of Iowa","courseCode":"CS1210","courseName":"Computer Science 1: Fundamentals","associatedDegrees":"Computer Science  ","prerequisites":"Math at the level of MATH1010, 1020, 1340 or 1440","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://homepage.cs.uiowa.edu/~cremer/courses/cs1210/#syllabusetc","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97177fb1e222be6424e1b","programmingLanguage":["Python"],"learningOutcomes":[" teach programming skills and computational thinking","Lab sessions will introduce students to pair programming"],"LOCategories":["Problem Solving (also things like computational thinking)","Teamwork skills & Communication"],"syllabusSource":"Manual search","courseID":"M48","country":"South Korea","uniName":"Korea Advanced Institute of Science and Technology","courseCode":"CS101","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://cs101.kaist.ac.kr/files/2017-spring-syllabus.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e27","programmingLanguage":["Python"],"learningOutcomes":["COSC 1306 will survey the basic hardware and software components of a computer system and\nintroduce the students to algorithmic thinking"," The programming assignments will be in Python,\nin order to relieve the beginner from the drudgery of conventional programming languages"],"LOCategories":["Writing programs","Designing Algorithms","How Computers & computational systems work & history of computing","Abstract Classes & Interfaces"],"syllabusSource":"Manual search","courseID":"M60","country":"USA","uniName":"University of Houston","courseCode":"COSC 1306","courseName":"Comptuer Science and Programming","associatedDegrees":"Computer Science","prerequisites":"College algebra","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www2.cs.uh.edu/~paris/1306/Syllabus.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e29","programmingLanguage":["Java"],"learningOutcomes":["how to write logical sequences of statements that constitute an algorithm","develop algorithms \nand implement them in a particular programming language (in this case, Java)","how to use variables, constants, assignment statements, conditions, loops, input and \noutput statements, arrays, functions, objects, classes, and inheritance","to write programs \nthat use both textual and graphical user interfaces","gain experience with an \nintegrated development environment (an IDE) –","how to write, \ncompile, and debug programs in the given IDE ","be able to develop and implement algorithms to solve simple to moderately difficult problems"],"LOCategories":["Designing Algorithms","Classes & objects","Inheritance","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M62","country":"USA","uniName":"Wake Forest University","courseCode":"CSC 111","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":"1","instructionLanguage":"English","url":"https://sakai.wfu.edu/access/content/group/755a753a-1e78-47d6-82d4-4a072a0c9559/Older/CSC111_Fall2016_Gage_Syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e28","programmingLanguage":["Java"],"learningOutcomes":["Main topics\ninclude: abstract classes, object composition, inheritance, polymorphism, files and graphic\ninterfaces in Java."],"LOCategories":["Basic OOP","Abstraction","Classes & objects","Polymorphism","Inheritance","Abstract Classes & Interfaces","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M61","country":"USA","uniName":"University of Houston","courseCode":"COSC 1430","courseName":"Computer Programming 2","associatedDegrees":"Computer Science","prerequisites":"COSC 1306","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"http://www2.cs.uh.edu/~chengu/Teaching/Spring2017/COSC%201430%20Spring%202017.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e2e","programmingLanguage":["Java"],"learningOutcomes":["Discuss and identify the concepts of encapsulation, abstraction, inheritance, and polymorphism","Design, implement, test, and debug programs involving basic computation, simple I/O, standard conditional and iterative structures, plus the definition of instance variables and functions/methods within the context of multiple classes involving some class hierarchy.","Identify and use good programming style","Develop simple event-driven programs that respond to user events and exception conditions raised during execution","Analyze and explain the behavior of simple programs and fragments of larger programs","Choose appropriate conditional and iteration constructs for a given programming task and apply them properly","Apply the techniques of structured (functional) decomposition to break a program in to smaller pieces, demonstrating appropriate use of method overloading and overriding","Describe how the class mechanism supports encapsulation and information hiding, and the nature of the relationship between a class and an object of that class","Write programs that make use of arrays and lists."],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Basic OOP","Abstraction","Classes & objects","Encapsulation","Polymorphism","Inheritance","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M67","country":"USA","uniName":"University of New Hampshire","courseCode":"CS 415","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://cs.unh.edu/courses/cs415","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e2c","programmingLanguage":["Python"],"learningOutcomes":["context of Python","integrated development environment","variables","number types","arithmetic and Boolean operations","if statements","loops","methods","arrays\n","examples of algorithms\n"],"LOCategories":["Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","IDE use"],"syllabusSource":"Manual search","courseID":"M65","country":"England","uniName":"Birkbeck University of London","courseCode":"ITP","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.dcs.bbk.ac.uk/study/modules/introduction-to-programming/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e33","programmingLanguage":["Java"],"learningOutcomes":["Topics include variables, assignment, expressions, operators, booleans, conditionals, characters and strings, control loops, arrays, objects and classes, file input/output, interfaces, recursion, lists, and sorting"],"LOCategories":["Classes & objects","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Sorting Algorithms","File handling & I/O","Recursion"],"syllabusSource":"Manual search","courseID":"M72","country":"USA","uniName":"Colorado State University","courseCode":"CS 163","courseName":"Java No Prior Programming","associatedDegrees":"Computer Science","prerequisites":"MATH 124 (Logarithmic and Exponential Functions) with a C or better","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.colostate.edu/~cs163/.Summer17/home_syllabus.php","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e2d","programmingLanguage":["None"],"learningOutcomes":["Follow and explain an explicit Design Recipe to go from an idea to a working, tested final program","Develop abstract computational data models for representing problem domain-level information","Choose from, and write programs over simple atomic data, compound structures, data mixtures/ itemizations, arbitrarily-sized data like lists and trees","Develop test procedures for programs","Use simple control mechanisms: function composition, conditionals, recursion, iteration","Explain when mutable state is needed (and why we avoid it if possible)","Abstract over and analyze simple programming patterns (higher-order programming) including simple parameter abstraction, parametric data, map/filter/reduce/lambda, and closures","Basic sorting & searching algorithms, recognize simple program time/space behavior"],"LOCategories":["Writing programs","Designing Algorithms","Abstraction","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Searching algorithms","Sorting Algorithms","Testing & Debugging code","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M66","country":"USA","uniName":"University of Delaware","courseCode":"CISC 108","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://udel.instructure.com/courses/1310886/assignments/syllabus","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e38","programmingLanguage":["Java"],"learningOutcomes":["Learn and reason about a simple machine model with a tiny CPU instruction set and addressable memory.","Create simple imperative programs in Java solving a variety of tasks on different data types e.g., text processing, simple substitution ciphers, interactive graphical programs (2D games), image processing effects using strings, 2D arrays and bit functions.","Create and use simple OO classes (e.g. student implements a list,queue,map using arrays). Advanced OO topics (inheritance, polymorphism,runtime-type checking) are briefly introduced.","Use a visual debugger with breakpoints to determine code-path of complex code under different data conditions.","Use an industry-standard fully-featured modern IDE (e.g. Eclipse).","Use an industry-standard code repository system","Write simple recursive methods (e.g. recursive search on a family tree, recursive search of a shortest path through a cyclic maze).","Find and fix common errors in small code snippets.","Use simple data structures (1D,2D-Arrays, linked lists, simple trees).","Determine the output and expected order-of-growth running time of iterative and recursive algorithms (including recursive implementations of binary search, selection sort, quicksort and merge sort).","Work with a variety of data sources and formats.","Reason about simple parallel examples, and interleaved statements operating on a shared data structure, and identify or use simple parallelism concepts (Amdahl's law, embarrassingly parallel problems, race condition analysis).","Be able to develop programs using industry-standard pair programming techniques.","Work with and manipulate image and sound data ","Write simple mobile applications (Android, Swift).","Lead code reviews."],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Teamwork skills & Communication","Basic OOP","Classes & objects","Polymorphism","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","Testing & Debugging code","IDE use","Recursion"],"syllabusSource":"Manual search","courseID":"M77","country":"USA","uniName":"University of Illinois at urbana-champaign","courseCode":"CS 125","courseName":"Intro to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://courses.engr.illinois.edu/cs125/su2017/info1.php#syllabus","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e31","programmingLanguage":["C++"],"learningOutcomes":["the basic concepts underlying computer programming using the powerful and widely used programming language, C++","an introduction to computers and programming, understand variables, input & output, arithmetic and logic expressions, packaging data as strings and vectors, as well as the construction, testing and debugging of programs","to solve basic problems and learn to use the tools of the trade. ","covers software design, testing, and debugging"],"LOCategories":["How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M70","country":"USA","uniName":"University of California Riverside","courseCode":"CS 010","courseName":"Intro to Computer Science for Science Mathematic and Engineering 1","associatedDegrees":"Computer Science","prerequisites":"A college mathematics course (may be taken concurrently) or credit for Math 009A","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://crossenrollcourses.universityofcalifornia.edu/catalog/view/7?title=CS+010+Introduction+to+Computer+Science+for+Science%2C+Mathematics%2C+and+Engineering+I","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e32","programmingLanguage":["Java"],"learningOutcomes":["Understand the fundamentals how a computer works.","To learn how to take a problem, figure out the algorithm to solve it, the write the code","To learn basics of programming with a modern programming language, Java","Understand how to install and use a good Java development environment","To learn how to produce robust programs in Java using exception handling and extensive program testing","Demonstrate basic problem solving skills: analyzing problems, modeling a problem as a system of objects, creating algorithms, and implementing models and algorithms in an object-oriented computer language (classes, objects, methods with parameters, abstract classes, interfaces, inheritance and polymorphism).","Illustrate basic programming concepts such as program flow and syntax of a high-level general purpose language","Demonstrate working with primitive data types, strings and arrays"],"LOCategories":["Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Basic OOP","Classes & objects","Polymorphism","Inheritance","Abstract Classes & Interfaces","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M71","country":"USA","uniName":"University of Hawaii at Manoa","courseCode":"ICS 111","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science, Security Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://courses.ics.hawaii.edu/ReviewICS111/outcomes/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e3d","programmingLanguage":["Scratch","C","Python","Sql","JavaScript"],"learningOutcomes":["how to think algorithmically and solve problems efficiently.","Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Abstraction","Encapsulation","Data Structures (general or implied complex like stacks, queues etc)","Web Development"],"syllabusSource":"Manual search","courseID":"M82","country":"USA","uniName":"Harvard University","courseCode":"CS 50","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no ","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://docs.cs50.net/2016/fall/syllabus/cs50.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e36","programmingLanguage":["C++","Python"],"learningOutcomes":["Topics include control-flow, introductory data structures, algorithms using selection and iteration, basic object-oriented programming, testing and debugging."],"LOCategories":["Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M75","country":"USA","uniName":"University of Michigan","courseCode":"EECS 183","courseName":"Elementary Programming Concepts","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"Yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://eecs183.org/docs/syllabus/#_basic_information","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e37","programmingLanguage":["C++"],"learningOutcomes":["science of problem solving, programming, program\ndevelopment, algorithm analysis, and data structures","to develop correct\nsoftware in a current programming language environment"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)"],"syllabusSource":"Manual search","courseID":"M76","country":"USA","uniName":"Utah State University","courseCode":"CS1400","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"C- or better in Math1050 or Math ACT of at least 25\n","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://amandaleehughes.com/CS1400Syllabus_Hughes_Spring2014.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e42","programmingLanguage":["Java"],"learningOutcomes":["Understand, design, and construct programs using the Java language, a variety of libraries and an object-oriented design approach.","Understand a range of fundamental issues and principles across computer science, software engineering, and network engineering."],"LOCategories":["Writing programs","Program Comprehension","Basic OOP"],"syllabusSource":"Manual search","courseID":"M87","country":"New Zealand","uniName":"Victoria University of Wellington","courseCode":"COMP 112","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.victoria.ac.nz/courses/COMP/112/2017/offering?crn=26034","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e3b","programmingLanguage":["C++"],"learningOutcomes":["Learn a form of reasoning, or problem solving, called Computational\nThinking.\n","Learn what a computer can do and the primitive operations it can perform.\n","Learn what an algorithm is and learn to design, develop and test\nsome algorithms.","Learn a subset of a certain programming language called C++ This\nsubset includes  (a) loops (b) if then-else and branching (c) looping (d) functions, procedures and their use for program design. (e) call by value vs. call by reference (f) arrays (g) file I/O (h) strings (i) structures (j) classes (k) pointers and dynamic memory allocation (l) objects with dynamic members (lists, vectors, exceptions, templates) (m) multidimensional arrays and vectors of vectors"],"LOCategories":["Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Pointers","File handling & I/O","memory allocation"],"syllabusSource":"Manual search","courseID":"M80","country":"USA","uniName":"Kent State University","courseCode":"CS 1","courseName":"Programming and Problem solving","associatedDegrees":"Computer Science","prerequisites":"The prerequisite for this course is the same mathematical\nbackground you need for Calculus 1.","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.kent.edu/~rothstei/spring_14/cs1syl.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e3c","programmingLanguage":["Java"],"learningOutcomes":["learn the fundamentals of computer programming in Java","learn about the broader field of computer science and algorithmic thinking, the fundamental approach that computer scientists take to solving problems."],"LOCategories":["“Fundamentals of Programming”","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M81","country":"USA","uniName":"University of Pennsylvania","courseCode":"CIS 110","courseName":"Introduction to Computer Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cis.upenn.edu/~cis110/12fa/syllabus.shtml   http://www.cis.upenn.edu/~cis110/17su/syllabus.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e47","programmingLanguage":["Java"],"learningOutcomes":["will be prepared to contribute to a rapidly changing field by acquiring a thorough grounding in the core principles and foundations of computer science (e.g., techniques of program design, creation, and testing; key aspects of computer hardware; algorithmic principles).","will acquire a deeper understanding on (elective) topics of more specialized interest, and be able to critically review, assess, and communicate current developments in the field.","will be prepared for the next step in their careers, for example, by having done a research project (for those headed to graduate school), a programming project (for those going into the software industry), or some sort of business plan (for those going into startups)."],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M92","country":"USA","uniName":"Rutgers - The state university of New Jersey","courseCode":"CS 111","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.rutgers.edu/course/introduction-to-computer-science","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e40","programmingLanguage":["C++"],"learningOutcomes":["Understand the key hardware components in a modern computer system and how software is mapped to the hardware.","Develop simple algorithms to solve computational problems.","Implement key algorithms within the field.","Understand and determine the computational complexity of simple algorithms.","Write computer programs using conditional and iterative structures, and functional decomposition.","Select an appropriate basic data structure (e.g. arrays) and access methods (e.g. pointers).","Understand functional decomposition and recursion.","Understand basic object-oriented principles.","Create programs that utilize input/output to perform data analysis.","Utilize Linux development tools needed to write, compile, and debug basic C++ programs."],"LOCategories":["Writing programs","Designing Algorithms","How Computers & computational systems work & history of computing","Basic OOP","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Pointers","File handling & I/O","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M85","country":"USA","uniName":"University of Southern Carolina","courseCode":"CS 103","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://bits.usc.edu/cs103/syllabus/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e41","programmingLanguage":["C++"],"learningOutcomes":["Students will gain experience in algorithmic problem solving.","Students will be able to understand and apply basic programming techniques.","Students will understand and apply basic approaches to program development"," Students will be able to read and write basic C++ programs."],"LOCategories":["Designing Algorithms","“Fundamentals of Programming”","Program Comprehension"],"syllabusSource":"Manual search","courseID":"M86","country":"USA","uniName":"University of Tennessee","courseCode":"CS102","courseName":"An Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://web.eecs.utk.edu/~mclennan/Classes/102/handouts/CS102-ECE206-Syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e45","programmingLanguage":["None"],"learningOutcomes":["to introduce you to a\nsystematic method for solving hard design problems","how to use and understand language in a\nComputer Science context","ensuring that the programs he or she writes are clear and easy for others to understand."],"LOCategories":["Problem Solving (also things like computational thinking)","Program Comprehension","Teamwork skills & Communication"],"syllabusSource":"Manual search","courseID":"M90","country":"Canada","uniName":"University of British Columbia","courseCode":"CPSC 110","courseName":"Computation, Programs and Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://edge.edx.org/asset-v1:UBC+CPSC110+2015W2+type@asset+block@Vantage_Computer_Science_Syllabus.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e46","programmingLanguage":["C++"],"learningOutcomes":["The student will identify the hardware components of a computer and will describe how they act together to form a complete system including the scientific principles on which they are based.","The student will edit, compile, execute and get hard copy of a simple program.","The student will use good documentation, formatting and naming conventions to insure program readability","The student will write a program using the C++ arithmetic operators, input/output methods and appropriate manipulators for formatting","The student will write a program using appropriate selection statements such as if, if-else and switch","The student will write a program using appropriate looping statements such as while, for and do-while.","The student will write a program using functions with parameters passed by value and by reference","The student will create his own data type (enumeration data type)","The student will use both one dimensional and multi-dimensional arrays","The student will use character data and string processing"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","How Computers & computational systems work & history of computing","Generating clear documentation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M91","country":"Jordan","uniName":"Jordan University of Science and Technology","courseCode":"CS 101","courseName":"C++ Programming: From Problem Analysis to Program Design","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"chrome-extension://gbkeegbaiigmenfmjfclcdgdpimamgkj/views/app.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e20","programmingLanguage":["Python"],"learningOutcomes":["Be fluent in the use of procedural statements — assignments, conditional statements, loops, function\ncalls — and sequences. Be able to design, code, and test small Python programs that meet requirements\nexpressed in English. This includes a basic understanding of top-down design. (a, b, c)","Understand the concepts of object-oriented programming as used in Python: classes, subclasses, inheritance,\nand overriding. Understand the basics of OO design. (a, b, c, k)","Have knowledge of basic searching and sorting algorithms, and knowledge of the basics of vector computation"],"LOCategories":["Writing programs","Basic OOP","Classes & objects","Inheritance","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M53","country":"USA","uniName":"Cornell University","courseCode":"CS 1110","courseName":"Introduction to Computing using Python","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.cornell.edu/courses/cs1110/2017sp/about/CS1110.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e12","programmingLanguage":["None"],"learningOutcomes":["explain basic programing language concepts, e.g., statements, expressions,\noperators, types, control flow constructs, argument passing, method calls\nand exception handling","explain object-oriented concepts, e.g., objects, methods, classes and inheritance","explain the meaning and use of elementary data structures, e.g., strings and arrays","develop small (up to 5000 lines of code) software applications in an object oriented\nprogramming language using a modern development environment","structure the program into separate parts that can be implemented independently in\na practicable way","evaluate the comprehensibility of a program, e.g., using class coupling, class\ncohesion and method cohesion","assess the impact of errors in software development"],"LOCategories":["Writing programs","Basic OOP","Classes & objects","Inheritance","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Exception Handling","Coupling & Cohesion concepts "],"syllabusSource":"Manual search","courseID":"M39","country":"Sweden","uniName":"University of Gothenburg","courseCode":"DIT042","courseName":"Object Oriented Programming","associatedDegrees":"Software Engineering and Management","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://kursplaner.gu.se/pdf/kurs/en/DIT042","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e25","programmingLanguage":["Java"],"learningOutcomes":["Design and describe precise, unambiguous instructions that can be used [by a computer] to solve a\nproblem or perform a task","Translate these instructions into a language that a computer can understand (Java)","Write programs that solve complex problems by decomposing them into simpler subproblems","Apply programming-style conventions to make your programs easy to understand, debug and modify","Learn independently about new programming-language features and libraries, as you encounter them,\nby reading documentation and by experimenting"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M58","country":"Canada","uniName":"McGill University","courseCode":"COMP 202","courseName":"Foundations of Programming","associatedDegrees":"Computer Science ","prerequisites":" CEGEP-level mathematics course or equivalent","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://www.cs.mcgill.ca/~cs202/2015-05/web/Syllabus/Syllabus_Summer_2015.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e4a","programmingLanguage":["None"],"learningOutcomes":["apply fundamental application development skills in a modern programming environment","develop and utilise best-practice coding techniques","adopt self-learning with modern support resources"],"LOCategories":["Developing good program Design methodology & styling"],"syllabusSource":"Manual search","courseID":"M95","country":"Australia","uniName":"James Cook University","courseCode":"CP 1404","courseName":"Programming 1","associatedDegrees":"Bachelor of Information Technology","prerequisites":"CP1801 OR CP1401 OR CP1200 OR EG1002 OR CP2200","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://secure.jcu.edu.au/app/studyfinder/?subject=CP1404","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e4b","programmingLanguage":["Java"],"learningOutcomes":["Understand the basic components of a computer and how it works","Understand and declare primitive data types and object data types and understand the difference\nbetween data types","Understand and instantiate built-in classes in the Java library, and to create and use custom classes","Understand and use UML class diagrams","Create graphical programs using appropriate layout managers and event handlers","Implement appropriate looping and control structures to solve problems","Understand and use flowcharts and flowchart symbols","Understand and use the concepts of method overloading and method overriding","Create test cases to validate source code"],"LOCategories":["Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","UML Modelling language"],"syllabusSource":"Manual search","courseID":"M96","country":"USA","uniName":"University of Montana","courseCode":"CSCI 135","courseName":"Fundamentals of Computer Science","associatedDegrees":"Computer Science","prerequisites":"previous programming experience; M 90 or consent of instructor","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://scholarworks.umt.edu/cgi/viewcontent.cgi?article=3935&context=syllabi","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e4c","programmingLanguage":["Python"],"learningOutcomes":["Students will be able to read, understand, make functional alterations to, and create, through assembling very small code fragments, small programs (near 100 lines) that achieve useful communication tasks","Students will be able to design, implement, test, and debug (from scratch) a very small program that uses two standard control structures (e.g., conditional/if and iteration, or two iterations), which may be nested"],"LOCategories":["Writing programs","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M97","country":"USA","uniName":"University of Illinois at Chicago","courseCode":"CS 111","courseName":"Program Design 1 ","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.uic.edu/pub/CS111/CS111Spring2017/syl111s17.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e4f","programmingLanguage":["None"],"learningOutcomes":["to learn to program in a functional programming\nlanguage","to analyze the runtime of\nprograms"],"LOCategories":["Writing programs","Evaluating Time/Space Complexity","Functional Programming"],"syllabusSource":"Manual search","courseID":"M100","country":"USA","uniName":"Brown University","courseCode":"CS17","courseName":"Integrated Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"Familiarity with high-school algebra","forMajors":null,"courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://cs.brown.edu/courses/csci0170/content/docs/syllabus.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e51","programmingLanguage":["None"],"learningOutcomes":["Write programs using basic statements, data types, expressions, control flow, library\nfunctions, and I/O functions","Write classes and use inheritance to extend an existing class","Write programs that include recursive algorithms","Describe the notion of abstract data types and their use in object-oriented designs","Implement basic data structures such as vectors, linked lists, stacks, and queues","Use and/or implement basic tree data structures such as binary trees, priority queues, and\nbalanced trees","Use and/or implement hashing","Use and/or implement fundamental graph algorithms such as topological sort, shortest\npath, depth-first search, and breadth-first search"],"LOCategories":["Writing programs","Classes & objects","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Sorting Algorithms","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M102","country":"USA","uniName":"Stevens Institute of Technology","courseCode":"CS 570","courseName":"Introduction to Programming, Data structures and Algorithms","associatedDegrees":"Computer Science ","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://web.stevens.edu/academic_files/courses/outcome/CS570.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e50","programmingLanguage":["Java"],"learningOutcomes":["Demonstrate a working knowledge of the basic constructs in the object-oriented language Java by being able to complete small programs","Use the BlueJ programming environment to build simple software systems","Design and code a software system that correctly implements a solution to a small problem defined by a specification, and follows specific design rules","Comprehend and use basic program control constructs of sequence, selection and iteration","Comprehend and use code that implements arrays and the basic sorting and searching algorithms"],"LOCategories":["Writing programs","Basic OOP","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Searching algorithms","Sorting Algorithms"],"syllabusSource":"Manual search","courseID":"M101","country":"Australia","uniName":"University of Technology Sydney","courseCode":"48023","courseName":"Programming Fundamentals","associatedDegrees":"Computing Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://handbook.uts.edu.au/subjects/details/48023.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e56","programmingLanguage":["Haskell"],"learningOutcomes":["Write programs in a functional style","Reason formally about functional programs","Use polymorphism and higher-order functions","Reason about the time and space complexity of programs","Types and strong-typing. Basic types: Booleans and truth values. Simple programs involving pattern matching. Polymorphism and type classes. More types: characters, strings, tuples. Type synonyms","Lists and their operations; list comprehensions. The functions map, foldl, foldr, concat and filter. Many small examples illustrating the use of these functions in a compositional style of programming.","Recursion and induction. The algebraic properties of list functions and their proof by equational reasoning. Simple manipulation of programs to achieve efficiency"],"LOCategories":["Writing programs","Polymorphism","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Recursion","Induction"],"syllabusSource":"Manual search","courseID":"M107","country":"England","uniName":"University of Oxford","courseCode":null,"courseName":"Functional Programming","associatedDegrees":"Computer Science","prerequisites":"No","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.ox.ac.uk/teaching/courses/fp/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e2a","programmingLanguage":["JavaScript","HTML"],"learningOutcomes":["demonstrate understanding of the programming language knowledge covered in the course by comprehending code in existing programs;","apply programming language knowledge covered in the course to generate programs","comprehend programming strategies covered in the course by analysing programs which demonstrate such strategies","create solutions to programming problems by generating programs which apply programming strategies covered in the course","demonstrate problem solving in the context of programming through designing, debugging, implementing and testing programs","demonstrate academic and professional literacy by applying computer and mathematical skills to analyse algorithms and data structures","demonstrate management, planning and organisational skills by judging performance of peers in assignments, and learning from feedback from peers and instructors"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Program Comprehension","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M63","country":"Australia","uniName":"University of Southern Queensland","courseCode":"CSC1401","courseName":"Foundation Programming","associatedDegrees":"Associate degree of Engineering, Bachelor of Information Technology","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1 or 2","instructionLanguage":"English","url":"https://www.usq.edu.au/course/specification/2017/CSC1401-S1-2017-ONC-SPRNG.html#otherrequirements","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e54","programmingLanguage":["Python"],"learningOutcomes":["determine the state of the program both during and after execution, given a code. listing that may include functions and parameters, loops, conditionals and sequences.","implement a given algorithm using Python.","show that a program meets given specifications by writing appropriate tests.","provide a useful level of documentation, in the form of program comments, for all programs developed.","decompose a simple problem into several smaller tasks, given a brief textual description of the problem.","compose functions that perform a specified task into a program that solves a given problem."],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Generating clear documentation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M105","country":"New Zealand","uniName":"The University of Auckland","courseCode":"COMPSCI 101","courseName":"Principles of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"Yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.auckland.ac.nz/courses/compsci101ssc/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e5b","programmingLanguage":["C","Haskell"],"learningOutcomes":["Design, implement, debug and test small programs using at least two different programming paradigms, given straightforward specifications","Develop algorithms to solve a wide range of common programming problems","Compare and contrast the different paradigms, understanding the relative advantages and disadvantages of each","Use common programming tools such as compilers, editors and debuggers","to have an understanding of core computer architecture, memory and memory management, and the binary representation of data values"],"LOCategories":["Writing programs","Designing Algorithms","How Computers & computational systems work & history of computing","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M112","country":"England","uniName":"University of London","courseCode":"COMP 101P","courseName":"Principles of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.ucl.ac.uk/students/syllabus/undergrad/101p_principles_of_programming/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e55","programmingLanguage":["Java"],"learningOutcomes":["Know the key features of the Java programming language","Apply essential object-oriented programming concepts and techniques","Apply object-oriented programming techniques using Java","Explain the principles behind good object-oriented design","Java overview and the basic language elements: Introduction to Java. Elements of Java programming. Review of programming constructs of the C family languages (Language structure, conventions. Variable and data types. Arrays. Operators. Expressions. For, if, while, do). Main method.","Objects in Java: Objects, Classes, Packages, Generics, Inheritance, Interfaces","Classes/packages.","String classes, System classes, Collections"],"LOCategories":["Developing good program Design methodology & styling","Basic OOP","Classes & objects","Inheritance","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M106","country":"England","uniName":"City University of London","courseCode":"Java 1","courseName":"Object Oriented Programming with Java Part 1","associatedDegrees":"Computer Science","prerequisites":"No","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.city.ac.uk/courses/short-courses/java-object-oriented-programming-with-java-part-1#course-detail=1","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e2f","programmingLanguage":["Java"],"learningOutcomes":["fundamental computing concepts, general programming principles, the Unix Operating System, and the Java programming language","algorithm development with examples highlighting topics in data structures."],"LOCategories":["Designing Algorithms","“Fundamentals of Programming”","Data Structures (general or implied complex like stacks, queues etc)"],"syllabusSource":"Manual search","courseID":"M68","country":"USA","uniName":"Emory University ","courseCode":"CS 170","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"Basic knowledge of algebra, problem solving skills and basic computer familiarity","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.mathcs.emory.edu/~dsavenk/courses/cs170/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e59","programmingLanguage":["Java"],"learningOutcomes":["Demonstrate an understanding of programming concepts","Analyse a requirements specification and provide a software design satisfying the requirements","Apply object-oriented concepts to solve programming problems in software implementation","Build graphical user interfaces","Describe and utilise known techniques for documenting and testing software","Critically evaluate and reflect on their learning, development and achievements within the context of program development","Use the command prompt  for program compilation and execution"],"LOCategories":["Problem Solving (also things like computational thinking)","Generating clear documentation","Basic OOP","Testing & Debugging code","Simple Graphics & GUIs","Command Prompt for Compilation and Execution"],"syllabusSource":"Manual search","courseID":"M110","country":"England","uniName":"London Metropolitan University","courseCode":"CS4001","courseName":"Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"Yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://intranet.londonmet.ac.uk/module-catalogue/record.cfm?mc=CS4001","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e60","programmingLanguage":["C","Python"],"learningOutcomes":["Given a problem specification, solve it by writing a correct sequential program","Design programs, including designing a specification and an implementation of it, to automate some task","Design and implement a program that can be proven to correctly implement a given specification","Explain the semantics (i.e., the behavior) of a sequential program in C (and other languages taught in the course) giving a correct explanation 70% of the time","Write a sequential program to correctly solve at least 70% of specified, small problems using C","Specify a problem and then use C (or another language taught in the course) to correctly solve that problem","Formally specify a problem in mathematics, solve it using C (or another language taught in the course) and verify that your solution is correct for all possible specified inputs "],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Program Comprehension"],"syllabusSource":"Manual search","courseID":"M117","country":"USA","uniName":"University of Central Florida","courseCode":"COP 3223","courseName":"Introductiont to Programming with C","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.eecs.ucf.edu/~leavens/COP3223H/about.shtml#objectives","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e5a","programmingLanguage":["None"],"learningOutcomes":["To describe basic programming concepts and constructs.","To demonstrate proficiency in use of a selected high-level procedural programming language.","To apply programming concepts and tools in developing simple programs.","Data types, Operators, arithmetic and logical expressions; Input/Output: unformatted and formatted input/output and program interfaces; Control structures: Sequencing, Selection and Repetition structures","Procedural abstractions: Functions and program structure, Parameter passing by value, command line arguments, scope rules, external definitions; Recursion; Practical Programming"],"LOCategories":["Writing programs","Abstraction","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Recursion","Command Prompt for Compilation and Execution"],"syllabusSource":"Manual search","courseID":"M111","country":"Kenya","uniName":"University of Nairobi","courseCode":"CSC112","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"http://sci.uonbi.ac.ke/uon_degrees_details/186#.course_anchor_186_520","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e34","programmingLanguage":["Java"],"learningOutcomes":["Define a computer system","Describe what the disciplines of informatics and computer science entail","Explain and use the concepts of primitive types, variables, and variable assignment","Explain memory, binary numbers, and memory addresses","Compare and contrast problems, challenges, issues, and foci of computer science and informatics","Explain and use the concept of arrays to store aggregate data","Explain the purpose and function of an integrated development environment","Implement a program with a graphical user interface that prints text and displays pictures","Use pseudo-code to specify an algorithm","Develop and use arithmetic expressions comprising arithmetic operators, constants, and variables","Develop and use boolean expressions comprising relational and logical operators","Explain and use the concept of loops to perform repetitive tasks","Explain and use the concept of procedures to develop modularized code","Identify and repair simple bugs in small code samples","Implement simple algorithms to search and sort arrays","Describe the procedural programming paradigm and describe commonalities among a variety of commonly used procedural languages","Design (reusable) functions to divide the solution of a problem into simpler steps","Develop a program to solve simple problems by decomposing the problem into simple tasks, implementing procedures to solve the tasks, and composing the procedures to solve the original problem","Write a reasonably-complex (200-250 line) modular procedural program"],"LOCategories":["How Computers & computational systems work & history of computing","Abstraction","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","Testing & Debugging code","Simple Graphics & GUIs","Information Representation"],"syllabusSource":"Manual search","courseID":"M73","country":"Canada","uniName":"Dalhousie University","courseCode":"CSCI 1100","courseName":"Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://academics.cs.dal.ca/curriculum/manage/course/CSCI/1100 ,     https://web.cs.dal.ca/~hawkey/csci1100/index.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e65","programmingLanguage":["C"],"learningOutcomes":["Basic features of programming (Using C):data types, variables, operators, expressions, statements, control structures, functions","Advanced programming features: arrays and pointers, recursion, records (structures), memory management, files, input/output, standard library functions, programming tools, testing and debugging","Fundamental operations on data: insert, delete, search, traverse and modify","Fundamental data structures: arrays, stacks, queues, linked lists; Searching and sorting: linear search, binary search, insertion-sort,bubble-sort, selection-sort, radix-sort, counting-sort","Introduction to object-oriented programming"],"LOCategories":["Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O","memory allocation","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M122","country":"India","uniName":"Indian Institute of Technology Guwahati","courseCode":"CS101","courseName":"Introduction to Computing","associatedDegrees":null,"prerequisites":null,"forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://www.iitg.ernet.in/cse/csecourses/?courseCode=CS101","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e5e","programmingLanguage":["Java"],"learningOutcomes":["You will learn the basic concepts of programming and learn to write and reason about simple programs","The main topics covered are: storing and manipulating data, control structures, methods and recursion, and algorithms for searching and sorting data"],"LOCategories":["Writing programs","Designing Algorithms","Control Structures & logic (if/else etc)","Functions, methods and procedures","Searching algorithms","Sorting Algorithms","Recursion"],"syllabusSource":"Manual search","courseID":"M115","country":"England","uniName":"Queen Mary University of London","courseCode":"ECS401","courseName":"Procedural Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.qmul.ac.uk/modules/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e5f","programmingLanguage":["Python"],"learningOutcomes":["To understand the basic concepts of computer programming in a high-level language","To be able to use and combine control flow constructs to form useful programs.","To understand and become familiar with a number of simple data structures.","To understand the process and skills necessary to effectively deal with problem solving in relation to writing programs.","To be able to test and debug programs.","To understand and employ functions and modularity.","Through labs become comfortable with common software packages in use today."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M116","country":"USA","uniName":"Georgia Institute of Technology","courseCode":"CS 1302","courseName":"Introduction to Programming using Python","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cc.gatech.edu/classes/AY2013/cs1301_fall/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e39","programmingLanguage":["Python"],"learningOutcomes":["The “Why do we care?” question regarding computer science and its role in society","Problem solving and abstraction","Memory concepts: variables, names, types, values, and assignment statements","Strings of characters","Control structures (for loops, if/else, while loops)","Functions","Processing text files","Lists and dictionaries","Program style: How to write code that other people can read and understand"],"LOCategories":["Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Abstraction","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M78","country":"USA","uniName":"University of California Santa Barbara","courseCode":"CS 8","courseName":"Solving Problems with Computers 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://cs.ucsb.edu/~zmatni/syllabi/CS8S17_syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e6a","programmingLanguage":["Python"],"learningOutcomes":["Demonstrate the ability to select and apply of a variety of algorithms and data structures suited to each given problem","Understand issues of complexity with respect to algorithms ","Demonstrate competence in programming through the development of a significant application ","Demonstrate the ability to extend and edit existing large programs ","Demonstrate appropriate software testing strategies ","Demonstrate effective use of support tools such as debugging, documentation tools and programming environments "],"LOCategories":["Writing programs","Code Manipulation","Generating clear documentation","Testing & Debugging code","IDE use","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M127","country":"England","uniName":"University of York","courseCode":"COM00007C","courseName":"Theory and Practice of Programming","associatedDegrees":"Computer Science and Mathematics ","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.york.ac.uk/undergraduate/modules/tpop.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e63","programmingLanguage":["Java"],"learningOutcomes":["understand the difference between a variable, value and object;","understand procedural abstraction and the passing of arguments and results;","understand how to structure basic Java programs to solve simple problems;","understand how to design an encapsulated data type with private and public aspects;","understand what is meant by object-oriented and component-based programming;","understand the time and space trade-offs between different implementations of collections;","understand the basics of visual application programming using Swing;","demonstrate the ability to work as part of a small group in order to solve a programming problem;","demonstrate an understanding of how to produce unit tests for checking that written code is working as expected."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Teamwork skills & Communication","Basic OOP","Abstraction","Encapsulation","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M120","country":"England","uniName":"University of Sheffield","courseCode":"COMP 1003","courseName":"Java Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.dcs.shef.ac.uk/intranet/teaching/public/modules/level1/com1003.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e64","programmingLanguage":["None"],"learningOutcomes":["1. An understanding of the nature of programming using a modern high-level programming language","The ability to read, comprehend and write simple programs","An appreciation of the process by which software systems are developed, including their specification, design, implementation, testing and maintenance","Demonstrate that they can comprehend basic program control constructs of sequence, selection, and iteration","Demonstrate that they can use programming development environments and tools within a defined context","Demonstrate that they can read pseudo-code and translate it into a readable, working program","Demonstrate that they know the basics of testing and debugging","Demonstrate that they can apply programming principles to solve domain-specific problems"],"LOCategories":["Writing programs","Program Comprehension","Control Structures & logic (if/else etc)","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M121","country":"Australia","uniName":"Flinders university","courseCode":"COMP1102","courseName":"Computer Programming 1","associatedDegrees":null,"prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.flinders.edu.au/webapps/stusys/index.cfm/topic/main?subj=COMP&numb=1102&year=2017","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e3e","programmingLanguage":["Python"],"learningOutcomes":["introduction to computation taught by solving real-world problems in audio, video and text processing","physical robotics, control and simulation of complex systems in nature, and swarm intelligence.","how to model computational artifacts operating in the world","how to design and implement algorithmic solutions in Python","how to experimentally test and evaluate performance of computational systems"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Testing & Debugging code","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M83","country":"USA","uniName":"Rice University","courseCode":"COMP 140","courseName":"Computational Thinking","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://courses.rice.edu/admweb/!SWKSCAT.cat?p_action=COURSE&p_term=201610&p_crn=10726","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e68","programmingLanguage":["None"],"learningOutcomes":["Understand the principles of object-oriented programming.","Demonstrate the use of modern IDE (integrated development environment).","Develop programs using various data types, operators, expressions, statements and loops.","Develop programs using arrays for storing, searching and sorting data.","Develop programs using user defined methods, parameters and arguments.","Develop programs using graphical user interface and streams.","Apply techniques used to produce quality programs.","Design programs that: (a) are easy to maintain, (b) are free from logic errors, (c) are free from runtime errors, (d) validate input data, (e) respond appropriately to invalid input data, (f) are easy to debug and (g) promote the reuse of code."],"LOCategories":["Writing programs","Basic OOP","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","Testing & Debugging code","IDE use","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M125","country":"Australia","uniName":"Central Queensland University","courseCode":"COIT 11222","courseName":"Programming Fundamentals","associatedDegrees":"Bachelor of Information Technology","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://handbook.cqu.edu.au/courses/viewCourseInModal/COIT11222/2173","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e6f","programmingLanguage":["JavaScript","HTML","CSS","JSON"],"learningOutcomes":["Code non-trivial programs in a modern programming language","Apply the principles of selection and iteration","Demonstrate appreciation of the application of programming concepts in everyday life"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)"],"syllabusSource":"Manual search","courseID":"M132","country":"England","uniName":"University of Greenwich","courseCode":null,"courseName":"Programming Foundations","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.gre.ac.uk/ug/content/ajax/courses-ajax-call/?sq_content_src=%2BdXJsPWh0dHAlM0ElMkYlMkZuZWxzb24uZ3JlLmFjLnVrJTJGcGxzJTJGY3JzZSUyRnVvZ3dlYnNpdGUucF9jcnNlSW5mbyUzRnRlcm0lM0QyMDUwMDAlMjZzdWJqJTNEQ09NUCUyNmNyc2UlM0QxNzUzJTI2Y29kZSUzRCZhbGw9MQ%3D%3D","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e69","programmingLanguage":["Python","C"],"learningOutcomes":["The course is structured around basic topics such as control flow, functions, lists, input and output, simple data structures (sets, dictionaries), testing and debugging, recursion and pointers"],"LOCategories":["Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O","Testing & Debugging code","IDE use","Recursion"],"syllabusSource":"Manual search","courseID":"M126","country":"Turkey","uniName":"Hacettepe University","courseCode":"BBM101","courseName":"Introduction to Programming 1","associatedDegrees":null,"prerequisites":null,"forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://web.cs.hacettepe.edu.tr/~bbm101/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e43","programmingLanguage":["None"],"learningOutcomes":["apply the basics of software construction and the tools required to support it in programs","describe and use the terminology of object orientation","apply basic principles of computer programming to common problems","analyse and run computer program code","test and evaluate programs against basic requirements","apply algorithmic problem solving approaches"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Basic OOP","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M88","country":"England","uniName":"University of Bradford","courseCode":"COS4016","courseName":"Fundamentals of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.bradford.ac.uk/t4-modules/2017-2018/COS4016-B_FundamentalsofProgramming2017-18.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e6d","programmingLanguage":["None"],"learningOutcomes":["the ability creatively to solve problems using a range of different approaches and techniques, and to determine which techniques are appropriate for the issue at hand","To introduce computer programming concepts using a generic (non-context specific) computer language and to develop problem-solving skills in the frame of computer programming.","Show practical experience of the basic concepts of computer programming. will be achieved by assessments","Evaluate the suitability of computer language data and control structures to achieve basic problem-solving","Use basic software engineering principles in order to design and implement computer programs"],"LOCategories":["Writing programs","Designing Algorithms","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)"],"syllabusSource":"Manual search","courseID":"M130","country":"USA","uniName":"Keele University","courseCode":"CSC 10024","courseName":"Programming 1 - Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.keele.ac.uk/modcat/2017-8/csc-10024.htm","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e74","programmingLanguage":["Java"],"learningOutcomes":["Accurately describe the parameter mechanism; use stepwise refinement to solve complex problems; accurately explain block structure and variable scope; design and implement algorithms involving mutual recursion","Describe the exception hierarchy and distinguish between checked and unchecked exceptions; use exceptions for general error handling; process data sets read from files.","Use indentation in a consistent fashion so as to highlight program structure; comment programs; write Javadoc comments.","Discuss the design philosophy underpinning the development of Java.","Declare and manipulate arrays and array lists; use linear structures to solve a range of programming problems.","Read a simple problem description and convert the user requirements to a Java program; ability to convert simple pseudo-code into Java statements."],"LOCategories":["Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Generating clear documentation","Arrays, Lists, dictionaries, vectors, sets","Scope of code","Recursion","Exception Handling"],"syllabusSource":"Manual search","courseID":"M137","country":"Wales","uniName":"Bangor university","courseCode":"ICP-1022","courseName":"Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.bangor.ac.uk/cs/undergraduate-modules/ICP-1022","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e6e","programmingLanguage":["Java"],"learningOutcomes":["Foundations of object-oriented programming","Objects and classes","Interface of a class","Design by Contract, preconditions, postconditions, class invariants","Basic control structures","Assignment and referencing","Basic knowledge about the hardware","Basic data structures and algorithms","Recursion","Inheritance and deferred classes","Introduction to event-driven and concurrent programming","Fundamental concepts of software engineering: software production process, specification, documentation, reuse, quality assurance"],"LOCategories":["Designing Algorithms","Generating clear documentation","Basic OOP","Classes & objects","Abstract Classes & Interfaces","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Variables, assignment, arithmetic expressions, declarations, data types","Recursion"],"syllabusSource":"Manual search","courseID":"M131","country":"Switzerland","uniName":"Eth Zurich","courseCode":null,"courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"Yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://se.inf.ethz.ch/courses/2015b_fall/eprog/english_index.html#description","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e72","programmingLanguage":["C++"],"learningOutcomes":["various control statements involving selection and repetition","expressions with variables, constants, function calls, pointers, and\narithmetic/relational operators with mixed data","arrays, strings, and other data structures","library functions and programmer-defined functions with parameter-passing by value\nand by reference","define and use classes and objects","Debug programming syntax and run-time errors","Produce recursive algorithms","Describe and apply basic software engineering design principles and software quality factors"],"LOCategories":["Classes & objects","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M135","country":"USA","uniName":"Oregon State University","courseCode":"CS 161","courseName":"Introduction to Computer Science 1","associatedDegrees":null,"prerequisites":"MTH 112* or (MPT score >= 33) or (MPAL >=61)","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://eecs.oregonstate.edu/sites/eecs.oregonstate.edu/files/cs161.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e79","programmingLanguage":["None"],"learningOutcomes":["to give students an appreciation of the way problems can be solved using a programming language","It provides an intuitive introduction to the concept of programming and covers basic programming constructs including comments, variables, assignment statements, control structures (selection, repetition), expressions, modularisation, input and output.","This module provides a general introduction to computer programming focusing on the concepts of problem solving, basic programming constructs, and program design. It introduces how to design, write and test simple programs."],"LOCategories":["Problem Solving (also things like computational thinking)","Generating clear documentation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M142","country":"England","uniName":"Newcastle University","courseCode":"CSC 1021","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.ncl.ac.uk/undergraduate/modules/csc1021/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e73","programmingLanguage":["Python"],"learningOutcomes":["apply program constructs such as variables, selection, iteration and sub-routines,","apply basic object-oriented concepts such as classes, instances and methods,","read and analyse code written by others","analyse a problem and design an algorithmic solution to the problem","read and analyse a design and be able to translate the design into a working program","apply techniques for testing and debugging","design and implement simple GUIs"],"LOCategories":["Designing Algorithms","Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M136","country":"Australia","uniName":"The University of Queensland","courseCode":"CSSE 1001","courseName":"Introduction to Software Engineering","associatedDegrees":null,"prerequisites":null,"forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.courses.uq.edu.au/student_section_loader.php?section=2&profileId=85405","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e77","programmingLanguage":["None"],"learningOutcomes":["Explain and compare programming language and markup language, name the relevant examples and standards. ","Identify essential features and techniques of structured programming ","Define client-side web-programming ","read and interpret web-programs written in a structured manner. ","modify programs to achieve different required outputs. ","translate computational problems into programmable solutions. ","use various data structures and flow controls instructions to apply the solution designed. ","construct web programs from English specifications. ","test programs against the specifications ","document a program","use development environment to achieve streamlined development procedure."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Program Comprehension","Generating clear documentation","Control Structures & logic (if/else etc)","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M140","country":"England","uniName":"Loughborough University","courseCode":"COA111","courseName":"Software Engineering 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://lucas.lboro.ac.uk/epublic/WP5015.module_spec?select_mod=17COA122","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e17","programmingLanguage":["C++"],"learningOutcomes":["learn the foundation concepts and principles of computer science","fundamental computer programming principles, methodologies, and techniques; and basic concepts of programming in general and the C++ language specifically"],"LOCategories":["“Fundamentals of Programming”"],"syllabusSource":"Manual search","courseID":"M44","country":"USA","uniName":"University of California, Los Angeles","courseCode":"CS 31","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://lasr.cs.ucla.edu/vahab/cs31summer14/syllabus.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e7e","programmingLanguage":["None"],"learningOutcomes":["Understand when to use and write programs over structures, lists, and trees","Develop data models for programming problems","Write recursive and mutually recursive programs using the Racket programming language","Explain when state is needed in value-oriented programming","Develop test procedures for simple programs"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)","Arrays, Lists, dictionaries, vectors, sets","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M147","country":"USA","uniName":"Worchester Polytechnic Institute","courseCode":"CS1101","courseName":"Introduction to Program Design","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://web.cs.wpi.edu/~cs1101/a16/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e78","programmingLanguage":["Java"],"learningOutcomes":["an understanding of the Java programming language to a detailed level, sufficient to realise working solutions to a range of problems","an understanding of the nature of imperative programming in the object-oriented style","a knowledge and understanding of good programming practice (for example, reuse, documentation and style).","an ability to realise solutions to problems as working Java programs.","an ability to recognise and apply the principles of abstraction and modelling","an ability to communicate technical information","an ability to confidently use general IT tools (editors, file management, printing, etc.)."],"LOCategories":["Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Teamwork skills & Communication","Generating clear documentation","Basic OOP","Abstraction"],"syllabusSource":"Manual search","courseID":"M141","country":"England","uniName":"Durham University","courseCode":"COMP 1011","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.dur.ac.uk/faculty.handbook/module_description/?module_code=COMP1011","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e83","programmingLanguage":["C++"],"learningOutcomes":["Able to identify possible solutions for problems based on computer programs.","Able to implement solutions for problems using C++.","Able to understand programs written by others and participate in larger scale system implementation.\n","Steps in program development, use of compiler, linker and debugger, use of integrated development environment","Data types and variables, control structures, functions, array and compound data, pointers and dynamic memory, file I/O","Programming style, program documentation ","recursion, linked lists and dynamic data structures"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Program Comprehension","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","IDE use","Recursion"],"syllabusSource":"Manual search","courseID":"M152","country":"China","uniName":"The University of Hong Kong","courseCode":"COMP 1117","courseName":"Computer Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://www.cs.hku.hk/programme/course_info.jsp?infile=2015/comp1117.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e1c","programmingLanguage":["Java"],"learningOutcomes":["analyze problems and formulate algorithms","create robust, user-friendly, well-structured and well-documented Java programs","read basic Java programs to determine their purpose","have a basic understanding of how computers work"],"LOCategories":["Developing good program Design methodology & styling","Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Generating clear documentation"],"syllabusSource":"Manual search","courseID":"M49","country":"USA","uniName":"University of Wisconsin-Madison","courseCode":"CS302","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://cs302-www.cs.wisc.edu/wp/syllabus-4/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e7c","programmingLanguage":["C"],"learningOutcomes":["Understanding of the theory and practice of programming","Understand and logically evaluate program requirements and specifications. ","Understand the complex ideas of programming solutions and relate them to particular problems.","The ability to design and analyse simple algorithms and data structures.","The ability to read and write programs","The ability to apply appropriate software development methods and tools.","The ability to solve problems using programming; to schedule and present work, and to retrieve additional learning material.","It covers fundamental programming constructs, such as types and variables, expressions, control structures and functions","The module also teaches how to design and analyse simple algorithms and data structures that allow efficient storage and manipulation of data","Finally, it familiarises students with software development methodology, including documentation, testing, debugging, and the use of software development tools, such as integrated development environments (IDEs) and version control systems."],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","IDE use","Evaluating Time/Space Complexity","Version Control"],"syllabusSource":"Manual search","courseID":"M145","country":"England","uniName":"University of Nottingham","courseCode":"G51PGA","courseName":"Programming and Algorithms","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://modulecatalogue.nottingham.ac.uk/nottingham/asp/moduledetails.asp?crs_id=026180&year_id=000115","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e7d","programmingLanguage":["Python"],"learningOutcomes":["Develops computational problem-solving skills by programming in the Python language, and exposes students to a variety of other topics from computer science and its applications."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M146","country":"USA","uniName":"Boston University","courseCode":"CCS 111","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.bu.edu/courses/cs111/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e48","programmingLanguage":["None"],"learningOutcomes":["Create simple algorithms","Express an algorithm as a program","Write technical computer programs that incorporate fundamental programming constructs such as conditionals, repetition, functions, pointers and recursion","Write technical computer programs that use console input/output and text files","Design, implement, test and debug simple computer programs"],"LOCategories":["Designing Algorithms","“Fundamentals of Programming”","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Pointers","File handling & I/O","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M93","country":"New Zealand","uniName":"Massey University","courseCode":"159.101","courseName":"Programming Fundamentals","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.massey.ac.nz/massey/learning/programme-course/course.cfm?course_code=159101&course_offering_id=1230523","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e88","programmingLanguage":["Java"],"learningOutcomes":["Have a clear understanding of the basic principles of the Java programming language","Be able to design and code small Java programs, which meet simple requirements expressed in English.","Be able to test and debug simple Java programs","Be able to write informal justifications for the programs they design. They should also be used to using laboratory notebooks for recording explorations of design alternative.","Have a clear understanding of the need for a development process."],"LOCategories":["Writing programs","“Fundamentals of Programming”","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M157","country":"England","uniName":"The University of Manchester","courseCode":"COMP 16121","courseName":"Object Oriented Programming with Java 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://studentnet.cs.manchester.ac.uk/syllabus/?code=COMP16121#learningoutcomes","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97177fb1e222be6424e21","programmingLanguage":["Java"],"learningOutcomes":["Basic principles of software engineering:\nstructure decomposition, documentation, testing and debugging","Variable types,\nexpressions and assignment","Conditional and iterative control structures","Modules\nand parameter passing","Recursion","Fundamental data structures: arrays, strings,\nmatrices, records.","Introduction to objects"],"LOCategories":["Generating clear documentation","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M54","country":"USA","uniName":"University of Ottawa","courseCode":"ITI 1120","courseName":"Introduction to Computing 1","associatedDegrees":"Computer Engineering","prerequisites":null,"forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://cglab.ca/~vida/course-outline.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e81","programmingLanguage":["None"],"learningOutcomes":["Fundamental programming concepts including variables and scope, conditional statements, and iteration.","Pseudocode.","Fundamental algorithms including simple sorting and searching, and data structures including arrays.","Boolean algebra, logic, set theory and proof.","Relations, functions, combinatorics, graphs."],"LOCategories":["Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Boolean Logic","Pseudocode"],"syllabusSource":"Manual search","courseID":"M150","country":"Scotland","uniName":"University of Aberdeen","courseCode":"CS 1022","courseName":"Computer Programming and Principles","associatedDegrees":"Computing Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.abdn.ac.uk/registry/courses/undergraduate/2017/computing_science/cs1022","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e4d","programmingLanguage":["Processing","Java"],"learningOutcomes":["introductory programming concepts including control structures, lists, classes/objects, and object-oriented programming","learn fundamental programming concepts using 2D games and media as project assignments"],"LOCategories":["“Fundamentals of Programming”","Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets"],"syllabusSource":"Manual search","courseID":"M98","country":"USA","uniName":"University of Denver","courseCode":"COMP 1671","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.du.edu/~leut/1671/09_Fall/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e82","programmingLanguage":["Java"],"learningOutcomes":["After a brief introduction about the inner workings of a computer, students learn about the principles of programming and basic programming tools.","the student has to translate simple tasks into computer programs and feedback is provided to the student about their progress","After completing this course the student is familiar with the core elements of programming and can implement simple programs in Java."],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","“Fundamentals of Programming”"],"syllabusSource":"Manual search","courseID":"M151","country":"Netherlands","uniName":"Maastricht University","courseCode":null,"courseName":"Introduction to Computer Science 1","associatedDegrees":"1","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"https://www.maastrichtuniversity.nl/meta/328437/introduction-computer-science-1","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e8d","programmingLanguage":["Java"],"learningOutcomes":["Students will be able to design programs to solve specific problems based on procedural programming concepts, and the object oriented programming concepts of classes, objects, methods and encapsulation.","Students will be able to write and debug programs to solve specific problems based on procedural programming concepts, and the object oriented programming concepts of classes, objects, methods and encapsulation.","Students will be able to write programs that meet professional standards in terms of readability and the programming conventions of Java.","Students will be able to read and describe the function of straightforward programs based on procedural programming concepts, and the object oriented programming concepts of classes, objects, methods and encapsulation written by others."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Program Comprehension","Basic OOP","Classes & objects","Encapsulation","Functions, methods and procedures","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M161","country":"Wales","uniName":"Swansea","courseCode":"CS 110","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://intranet.swan.ac.uk/catalogue/default.asp?type=moddetail&dept=any&mod=CS-110&ayr=17%2f18&psl=TB1&detailOnly=false","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e26","programmingLanguage":["Python"],"learningOutcomes":["The fundamental concepts of computation and programming","How to write simple and moderately complex computer program in the Python programming language","How to test and debug programs","How to use the most common data structures (lists, dictionaries, sets)","The basics of graphical user interface programming","The basics of object-oriented programming","How to automate common computer tasks via programming"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Basic OOP","Arrays, Lists, dictionaries, vectors, sets","Testing & Debugging code","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M59","country":"New Zealand","uniName":"University of Otago","courseCode":"COMP150","courseName":"Practical Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.otago.ac.nz/courses/papers/index.html?papercode=COMP150","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e86","programmingLanguage":["Java"],"learningOutcomes":["To introduce the concepts of software design and programming","Be able to design simple object-oriented (OO) models using an OO design notation and supporting software tools","Be able to implement an OO model in a high-level OO language using objects, classes, inheritance, arrays, conditionals and iteration","Be conversant with effective documentation, layout, debugging and testing"],"LOCategories":["Generating clear documentation","Basic OOP","Classes & objects","Inheritance","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M155","country":"Scotland","uniName":"University of St Andrews","courseCode":"CS1002","courseName":"Object-Oriented Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://info.cs.st-andrews.ac.uk/student-handbook/modules/CS1002.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e52","programmingLanguage":["Python"],"learningOutcomes":["Use Python and common modules to implement simple algorithms expressed in pseudocode","Develop informal algorithms and apply recursion to solve simple problems","Informally analyse the efficiency of algorithms and contrast different searching algorithms","Understand and apply basic logic, set theory, counting techniques, probability and statistics","Write scientific reports describing the analysis of a problem"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Searching algorithms","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M103","country":"Wales","uniName":"Cardiff University","courseCode":"CM1103","courseName":"Problem Solving with Python","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://handbooks.data.cardiff.ac.uk/module/CM1103.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e87","programmingLanguage":["Java"],"learningOutcomes":["Introduction to programming using Java","Software life cycle: importance of correctly identifying the problem, iterative nature of software development, software maintenance","Design methodology: the application of the top-down design method using step-wise refinement to produce pseudo-code solutions to problems, incorporating constructs for sequence selection, iteration, abstraction and re-use","Verification and testing: the use of desk-top execution, simple debugging strategies and more formal approaches to testing e.g. black box white box boundary analysis and equivalence classes","Applications of standards and conventions: software maintenance and developing a professional approach to coding","Constructs and features of a structured high level programming language: control constructs, operators, procedural abstraction, simple I/O and use of libraries","Data types – primitive types: constants, variables, arrays and simple structured data","Object orientated design and implementation: inheritance and polymorphism","Software support environment: use of an IDE editors compiler/linkers and operating systems"],"LOCategories":["Basic OOP","Abstraction","Polymorphism","Inheritance","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","IDE use","Pseudocode"],"syllabusSource":"Manual search","courseID":"M156","country":"England","uniName":"Manchester Metropolitan University","courseCode":null,"courseName":"Programming (Java)","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www2.mmu.ac.uk/study/undergraduate/courses/2018/15393/#indepth","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e92","programmingLanguage":["Python"],"learningOutcomes":["demonstrate proficiency in problem solving, software design and development, data structures, algorithms, computer organization and computer architecture;","write programs, document programs and test programs, in a variety of programming languages, supporting different programming paradigms;","be proficient in at least one (in-demand) programming language;","write about their programs and issues related to computing;"],"LOCategories":["Writing programs","Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M166","country":"USA","uniName":"University of Massachusetts Boston","courseCode":"CS 110","courseName":"Introduction to Computing","associatedDegrees":"Computer Science","prerequisites":" Math 140 credits or placement; or Math 130 as co-requisite; or permission of the department.\n","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.swamiiyer.net/cs110/course_info.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e2b","programmingLanguage":["None"],"learningOutcomes":["how computers work, and how people create software to drive computing processes","fundamentals of structured programming, and explore the mechanics of how these programs operate within the computer"],"LOCategories":["How Computers & computational systems work & history of computing","“Fundamentals of Programming”"],"syllabusSource":"Manual search","courseID":"M64","country":"Australia","uniName":"Deakin University","courseCode":"SIT 102","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://www.deakin.edu.au/courses-search/unit.php?unit=SIT102&year=2017","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e57","programmingLanguage":["None"],"learningOutcomes":["Fundamental concepts of programming from an object-oriented perspective","Simple data types, control structures, array and string data structures, basic algorithms, testing and debugging","A basic model of the computer as an abstract machine","Modeling and problem-solving skills applicable to programming at this level."],"LOCategories":["Writing programs","Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Basic OOP","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M108","country":"USA","uniName":"Virginia Polytechnic Institute","courseCode":"CS 1114","courseName":"Introduction to Software Design","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://courses.cs.vt.edu/~cs1114/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e8b","programmingLanguage":["None"],"learningOutcomes":["Introduction to fundamental concepts and techniques for writing software in a high-level programming language","Covers the syntax and semantics of data types, expressions, exceptions, control structures, ","input/output, methods, classes, and pragmatics of programming","Algorithmics: tokens, simple types, literals, names/variables, objects, expressions, exceptions, and control structures.","Abstraction: functions, compound types (strings, lists, sets, maps, ... classes), methods, modules.","Analysis: equivalence, pragmatics, aesthetics (style), correctness (testing/debugging), efficiency (big-O notation), and numerical accuracy."],"LOCategories":["Writing programs","Abstraction","Classes & objects","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M159","country":"USA","uniName":"University of California Irvine","courseCode":"CSE 41","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://plaza.eng.uci.edu/course/cse/41/outline/2016-2017","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e8c","programmingLanguage":["None"],"learningOutcomes":["Algorithms and programming in a selected computer language; expressions, statements, basic data types; sequence, decision, iteration; functions and procedures","arrays; recursion; file input and output; loop invariants;","syntax analysis; and program design, documentation, validation, and debugging."],"LOCategories":["Designing Algorithms","Generating clear documentation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M160","country":"USA","uniName":"University of San Diego","courseCode":"COMP 150","courseName":"Computer Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.sandiego.edu/engineering/programs/computer-science/curriculum.php?area=courses#COMP 150","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e30","programmingLanguage":["Java"],"learningOutcomes":["Emphasis is on the use and implementation of data structrues, fundamental algorithms with introductory algorithm analysys, and object oriented design and programming with Java."],"LOCategories":["Designing Algorithms","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M69","country":"USA","uniName":"Emory University","courseCode":"CS 171","courseName":"Introduction to Computer Science 2","associatedDegrees":"Computer Science","prerequisites":"CS 170","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"http://www.mathcs.emory.edu/~mswens2/courses/fall16/cs171/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e97","programmingLanguage":["C","C++"],"learningOutcomes":["Improving Problem solving skills (problem understanding, analysis, algorithm designing, program development and testing).","Learning as how to translate/convert algorithm to program. ","Learning about editing, compiling and debugging and testing a program. ","Understanding and resolving different types of bugs or errors. ","Learning about choosing relevant data type, scope and life time of variables. ","Learning about selection and repetition control structures.","Learning about structured and modular programming paradigm. ","Understanding and developing functions and parameter passing. ","Learning about one dimensional array in detail and its usage. ","Capable to think and understand things logically/scientifically. ","Capable to apply problem solving techniques in social and other fields of life."],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Program Comprehension","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Scope of code"],"syllabusSource":"Manual search","courseID":"M171","country":"Pakistan","uniName":"University of Lahore","courseCode":"CS 1012","courseName":"Programming Fundamentals 1","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"https://piazza.com/uol.edu.pk/fall2016/cs1012/home","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e5c","programmingLanguage":["None"],"learningOutcomes":["Learning the basic concepts about how a computer work and what its components are","Preparing a document using a computer","Processing data at a basic level using a computer","Preparing presentation materials using a computer","Developing simple computer programs"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing"],"syllabusSource":"Manual search","courseID":"M113","country":"Turkey","uniName":"Istanbul Technical University","courseCode":"BIL 103E","courseName":"Introduction to Information Systems and Programming","associatedDegrees":"Computer Engineering","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://ssb.sis.itu.edu.tr:9000/pls/PROD/itu_icerik.p_download?file=BIL103E","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e91","programmingLanguage":["None"],"learningOutcomes":["Comprehend the concepts of object-orientated programming","Comprehend a programming problem and design a solution","Code a solution to a problem","Comprehend and implement selection and loop structures","Comprehend and implement classes and methods","Comprehend and implement different input/output solutions","Comprehend and implement arrays","Test and document program solutions"],"LOCategories":["Problem Solving (also things like computational thinking)","Basic OOP","Classes & objects","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M165","country":"Australia","uniName":"University of Newcastle","courseCode":"SENG 1110","courseName":"Object Oriented Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"http://www.newcastle.edu.au/course/SENG1110","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e90","programmingLanguage":["None"],"learningOutcomes":["Develop an algorithmic solution to a problem","Design and implement a simple procedural program that embodies an algorithm","Understand data input/output and how programs make use of persistent storage","Test and debug programs in a systematic way","emonstrate a familiarity with the basic concepts, information, practical competencies and techniques which are standard features of the discipline;"," be able to communicate the results of their work;","demonstrate computational thinking including its relevance to everyday life;","Variables and primitive data types","Console and file I/O","Functions and parameter passing","Concept of recursion","Testing and debugging techniques"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Recursion"],"syllabusSource":"Manual search","courseID":"M164","country":"England","uniName":"University of Leeds","courseCode":"COMP 1711","courseName":"Procedural Programming","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":"1\n\n","courseSemester":"1","instructionLanguage":"English","url":"http://webprod3.leeds.ac.uk/catalogue/dynmodules.asp?Y=201516&M=COMP-1711","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e35","programmingLanguage":["Java"],"learningOutcomes":["Computers, operating systems, and Java applications","software development; conditional statements; ","loops; methods; arrays; classes and objects;  object-oriented design; unit testing; strings and text I/O","inheritance and polymorphism; GUI  components; application testing; abstract classes and interfaces exception handling; files and streams; GUI event handling; generics; collections; threads; comparison of Java to C, C++, and C#"],"LOCategories":["How Computers & computational systems work & history of computing","Basic OOP","Polymorphism","Inheritance","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","File handling & I/O","Testing & Debugging code","Exception Handling","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M74","country":"USA","uniName":"Case Western Reserve University","courseCode":"EECS 132","courseName":"Introduction to Programming in Java","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://engineering.case.edu/eecs/introcomputing","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e9c","programmingLanguage":["C++"],"learningOutcomes":["The course covers the following topics: basic data types, the C++ string class, variables and constants, and their declaration, input/output (cin/cout) operators","assignment operators, arithmetic operators, conditional control structures, repetition control structures, basic file operations","user-defined functions, value and reference parameters, scope rules, name precedence, function overloading, template functions, elementary software engineering principles","Standard Template Library (STL), the vector class, elementary searching and sorting, user-defined classes, operator overloading, pointers, self-referential classes, dynamic object creation and destruction, linked lists, and recursion"],"LOCategories":["Classes & objects","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Scope of code","Recursion"],"syllabusSource":"Manual search","courseID":"M176","country":"USA","uniName":"Georgetown University","courseCode":"COSC 151","courseName":"Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://myaccess.georgetown.edu/pls/bninbp/bwckctlg.p_disp_course_detail?cat_term_in=201730&subj_code_in=COSC&crse_numb_in=051","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e61","programmingLanguage":["Java"],"learningOutcomes":["To introduce the essential skills of Programming, and the concepts of object-oriented Programming.","To introduce techniques for good design of user interfaces for applications. To provide practice in applying these techniques to user interface design in Java.","To develop practical skills in writing programs, including working with appropriate tools.","Demonstrate understanding of the concepts of object-oriented programming","Develop general problem-solving skills;","Be able to write programs using a number of core language features: assignments, methods, conditional and loop statements, classes, array, list and map data structures.","Be able to construct well-designed applications in Java, using Human-Computer Interaction design principles."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M118","country":"England","uniName":"King's College London","courseCode":"4CCS1PPA ","courseName":"Programming Practice and Applications","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.kcl.ac.uk/nms/depts/informatics/study/current/handbook/Progs/Modules/4CCS1PPA.aspx","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e96","programmingLanguage":["None"],"learningOutcomes":["An introduction to computational problem solving, including basic programming and algorithms. ","Programming assignments will emphasize the solution of problems taken from the natural sciences, the social sciences, and business."],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M170","country":"USA","uniName":"College of William and Mary","courseCode":"CSCI 141","courseName":"Computational Problem Solving","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://catalog.wm.edu/preview_course_nopop.php?catoid=7&coid=12036","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e95","programmingLanguage":["C"],"learningOutcomes":["Basic programming concepts and constructs such as arrays, loops, stacks, pointers, files are covered along with basic linux operations","The course serves as a starting point for those who want to delve into more complex concepts like Object oriented programming, Functional programming etc"],"LOCategories":["Designing Algorithms","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Pointers","File handling & I/O","Functional Programming"],"syllabusSource":"Manual search","courseID":"M169","country":"India","uniName":"Indian Institute of Technology Kanpur","courseCode":"ESC 101","courseName":"Fundamentals of Computing","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://wiki.iitk.ac.in/mediawiki/index.php/Esc101","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e3a","programmingLanguage":["Java"],"learningOutcomes":["Analyze a problem, and identify and define the computing requirements appropriate to its solution.","Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs","Apply design and development principles in the construction of software systems of varying complexity."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M79","country":"USA","uniName":"University of Oklahoma","courseCode":"CS 1323-020","courseName":"Introduction to Computer Programming","associatedDegrees":"Computer Science","prerequisites":"Mathematics 1523 or concurrent enrollment, or placement into MATH 1743 or MATH 1823 or higher","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.ou.edu/~fagg/classes/cs1323/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea1","programmingLanguage":["C++"],"learningOutcomes":["Understand computer program structure,\ndesign and development","Use primitive data types and control\nstructures in computer programs","Understand and apply vectors, strings, and structs","Declare and use functions in computer\nprograms.","Understand object-oriented programming\nconcepts: objects, classes, inheritance,\npolymorphism, and encapsulation.","Design and create simple graphic user\ninterfaces","Understand and apply file I/O in computer\nprograms","Understand and use basic algorithms for\nsearching, sorting, lists, trees and maps","Navigate and make use of class libraries","Write simple computer programs in a highlevel\nprogramming language, C++","Complete a team design project using\nknowledge and principles from the course."],"LOCategories":["Teamwork skills & Communication","Basic OOP","Classes & objects","Encapsulation","Polymorphism","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M181","country":"USA","uniName":"Texas a&m University","courseCode":"CSCE 121","courseName":"Introduction to Program Design & Concepts","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://courses.cse.tamu.edu/jmichael/sp15/121/syllabus/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e9b","programmingLanguage":["Java"],"learningOutcomes":["breaking large problems into smaller ones","using different representations of data","exhaustive search of possible solutions","Use a programming language to write a loop whose exit depends on more than one predicate.","Distinguish between errors in the syntax of a program and errors in logic","Identify and correct syntax errors in programs","Find and correct logical programming errors using debugging printout, pencil-and-paper tracing, and systematic search (to locate where an incorrect decision or value first appears)","Implement an object-oriented design that has at least two interacting classes","Recognize a few simple design patterns, such as model/view/controller, in existing programs","Write and document programs that adhere to specific coding and documentation standards (e.g. javadoc for documentation; conventions regarding the naming of classes and methods, definitions of constants, indention, etc.)","Use the Java system classes to do text-based input and output","Implement an array-based list with the ability to add and remove items and to traverse the list"],"LOCategories":["Developing good program Design methodology & styling","Generating clear documentation","Basic OOP","Classes & objects","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O","Testing & Debugging code","Detecting syntax errors","Detecting logic errors"],"syllabusSource":"Manual search","courseID":"M175","country":"USA","uniName":"North Carolina State University","courseCode":"CSC 116","courseName":"Introduction to Computing - Java","associatedDegrees":"Computer Science","prerequisites":"E115, MA 141 (Basic math and computer literacy)","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://engineeringonline.ncsu.edu/onlinecourses/cpc_marketing/CSC116.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e66","programmingLanguage":["C++"],"learningOutcomes":["introductory concepts in computer programming using C++","This coursecovers principles of problem solving","Topics include program development process,variables, data types, expressions, selection and repetition structures, functions, textfiles, and arrays."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M123","country":"United Arab Emirates","uniName":"United Arab Emirates University","courseCode":"CSBP 112","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"ENGU1404 ","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cit.uaeu.ac.ae/en/courses/course_2968.shtml?id=CSBP112","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e9a","programmingLanguage":["Java"],"learningOutcomes":["Introduction t o c omputer s ystems, c omputer a s a\nprogrammed machine; machine l anguage, assembly l anguage, high\nlevel l anguages; con cept of flow chart and algorithms, algorithms to\nprograms, obj ect or iented pr ogramming concept, di fference i n\napproach from procedural programming","Java com piler\nand virtual m achine, Structure of a J ava p rogram, stand-alone\nprograms and applets; concepts of portability","Data t ypes, variables and array\noperators, assignment a nd selection statements, ite rative s tructures,\nnested loops, string handling in Java, I/O mechanism, command line\narguments","General f orm o f a cl ass, creating obj ects, access\ncontrol i n c lasses; C onstructors, m ethods, parameters, m ethod\noverloading, r ecursive methods, r eturning obj ects, s tatic m embers,\nfinalization, final qualifier, nested and inner classes","Pointers, references and d ynamic m emory\nhandling i n C ++, O bjects as r eferences i n Java, dynamic m emory\nallocation and garbage collection in Java","Basics, super cl asses and subclasses, the keyword\nextends, multilevel hi erarchy, method overriding; r un time\npolymorphism, abstract classes, final in inheritance, the object class","Defining pa ckage, a ccess pr otection,\nimporting classes and packages, defining and implementing interfaces,\nnested interfaces, use of interfaces, variables in interfaces","Fundamentals, t ypes o f e xceptions, c atching\nexceptions, m ultiple c atching, ne sted t ry s tatements, unc aught\nexceptions, throw and throws, finally mechanism, built-in exceptions,\ncreating exception subclasses, using exceptions","Applet f undamentals, na tive m ethods, s tatic i mport, t he\napplet c lass, a pplet di splay m ethod, r equesting repainting, a ba nner\napplet, passing parameters to applets, uses of applets"],"LOCategories":["Basic OOP","Abstraction","Polymorphism","Inheritance","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Recursion","Exception Handling"],"syllabusSource":"Manual search","courseID":"M174","country":"India","uniName":"Indian Institute of Technology Roorkee","courseCode":"CSN 103","courseName":"Fundamentals of Object Oriented Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"https://www.iitr.ac.in/academics/uploads/File/2015/syllabi/UG/CS%20PDF.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e3f","programmingLanguage":["C++"],"learningOutcomes":["Students should learn fundamental principles of how to solve problems through computer programming. The programming techniques will include good program design practices and programming style, resulting in programs which are correct, reliable, robust, efficient, and maintainable.","Students should learn basic features of the programming language C++."],"LOCategories":["Developing good program Design methodology & styling","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M84","country":"USA","uniName":"Clarkson University","courseCode":"CS 141","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://people.clarkson.edu/~clynch/cs141/fall02/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea6","programmingLanguage":["Java"],"learningOutcomes":["problem-solving skills that can be adapted and used in many other situations where structured analytical thought is required","an understanding of computer structure and functioning","skills in abstract, language-independent computational thinking","an understanding of fundamental imperative programming constructs and their use","the ability to program simple algorithms in a high-level programming language","an appreciation of the relevance of computers and computing in society"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M186","country":"Scotland","uniName":"University of Sterling","courseCode":"CSCU9A1","courseName":"Computing Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.stir.ac.uk/courses/CSCU9A1/syllabus.php","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea0","programmingLanguage":["ML"],"learningOutcomes":["be able to write simple ML programs;","understand the importance of abstraction in computing","be able to estimate the efficiency of simple algorithms, using the notions of average-case, worse-case and amortised costs","know the comparative advantages of insertion sort, quick sort and merge sort","understand binary search and binary search trees","know how to use currying and higher-order functions"],"LOCategories":["Writing programs","Abstraction","Searching algorithms","Sorting Algorithms","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M180","country":"England","uniName":"University of Camberidge","courseCode":null,"courseName":"Foundations of Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.cl.cam.ac.uk/teaching/1112/FoundsCS/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e6b","programmingLanguage":["Java"],"learningOutcomes":["apply a common programming language,","develop well-structured programs and perform testing and debugging of these","explain the architecture of programs, including inheritance, abstract classes and interfaces","explain simple specification models and perform implementation of these in programs","apply standard classes in program implementations"],"LOCategories":["Writing programs","Abstraction","Classes & objects","Inheritance","Abstract Classes & Interfaces","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M128","country":"Denmark","uniName":"Aarhus University","courseCode":null,"courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"Danish","url":"http://kursuskatalog.au.dk/en/course/72469","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e9f","programmingLanguage":["None"],"learningOutcomes":["It introduces concepts such as software processes and agile methods, and essential software development activitie","There is a focus on software testing, from unit testing to the testing of software releases","Project management and professional software engineering practice will also be covered"],"LOCategories":["Developing good program Design methodology & styling","Teamwork skills & Communication","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M179","country":"Australia","uniName":"The University of Adelaide","courseCode":"Comp Sci 1106","courseName":"Introduction to Software Engineering","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://cp.adelaide.edu.au/courses/details.asp?year=2017&course=108366+1+3720+1","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e44","programmingLanguage":["None"],"learningOutcomes":["Analyse problems and design solutions within the context of programming.","Implement and test programs that solve defined problems.","Identify and apply the concepts of variables, data types and data structures.","Demonstrate knowledge of and utilise control structures such as sequence, selection and iteration.","Recognise and employ the concepts of abstraction, including functions and object orientation."],"LOCategories":["Problem Solving (also things like computational thinking)","Basic OOP","Abstraction","Data Structures (general or implied complex like stacks, queues etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M89","country":"Australia","uniName":"Edith Cowan University","courseCode":"CSP 1150","courseName":"Programming Principles","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.ecu.edu.au/handbook/unit?id=CSP1150&year=2017","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eab","programmingLanguage":["Java"],"learningOutcomes":["Teach students Java programming skills & concepts along with an emphasis on object-oriented\nprogramming via lectures, recitations","implement methods, ","design and implement classes","define objects and work with them","understand arrays and work with both one and two dimensional arrays","understand, properly design and use inheritance","understand exceptions and the different ways of handling them","understand definition of recursion and apply technique to simple problems"],"LOCategories":["Basic OOP","Classes & objects","Inheritance","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Recursion","Exception Handling"],"syllabusSource":"Manual search","courseID":"M191","country":"USA","uniName":"New Jersey Institute of Technology","courseCode":"CS 113","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://web.njit.edu/~xl367/syllabus/2013_fall_cs113.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea5","programmingLanguage":["Python"],"learningOutcomes":["Students should be comfortable writing 50-line programs in Python","Students should be able to write programs that solve problems using repetitive control structures and\nselection.","Students should be proficient in using simple data structures such as strings and lists","Students should know how to decompose a problem. ","Students should know how to debug and test a program.\n"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M185","country":"USA","uniName":"University of Arizona","courseCode":"CSC 110","courseName":"Computer Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www2.cs.arizona.edu/classes/cs110/spring17/handouts/syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e70","programmingLanguage":["None"],"learningOutcomes":["Introduction to designing, implementing, and understanding computer programs using an object-oriented programming language","Topics include an introduction to computing and problem solving, selection and iteration, arrays and collections, objects and classes, top-down design and incremental development"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)"],"syllabusSource":"Manual search","courseID":"M133","country":"USA","uniName":"University of Victoria","courseCode":"CSC 110","courseName":"Fundamentals of Programming 1","associatedDegrees":"Computer Science","prerequisites":"Foundations of Math 12","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://web.uvic.ca/calendar2016-05/CDs/CSC/110.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ea4","programmingLanguage":["C++"],"learningOutcomes":["Topics include elementary C++, computer algorithms, loops and flow of control","procedural abstraction, functions, streams, arrays, strings, objects and classes","polymorphism and operator overloading, professional societies, professionalism and ethics","pointers, dynamic memory, and dynamic arrays"],"LOCategories":["Designing Algorithms","Abstraction","Classes & objects","Polymorphism","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Pointers"],"syllabusSource":"Manual search","courseID":"M184","country":"USA","uniName":"Ohio University","courseCode":"CS 2400","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"http://www.catalogs.ohio.edu/preview_course_nopop.php?catoid=27&coid=127944","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e49","programmingLanguage":["Java"],"learningOutcomes":["Developing elegant and efficient code from an abstract specification","Using building blocks of program development","Literate programming (writing a program that can be read by a human as well as a machine)","Programming methodology, which involves\n• Planning out the design of a program using object-oriented design and appropriate features of Java\n• Methodical and efficient development of the implementation using step-wise refinement and\nincremental testing and debugging (using appropriate debugging tools)\n• Being able to convince yourself of the correctness of the implementation by logical reasoning"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Basic OOP","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M94","country":"USA","uniName":"Clark University","courseCode":"CS 120","courseName":"Introduction to Computing","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.cs.clarku.edu/~cs120/syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb0","programmingLanguage":["Python"],"learningOutcomes":["learned the essential parts of the Python programming language (sufficiently to learn more on Python on one's own)","learned how to organize, write, document, test medium-sized programs,\nbe aware of limits of computation,","be able to bring an informal problem statement into a computational formulation,","learned a number of algorithmic techniques for solving complex problems.","Values and types (innate data types, data encoding, expressions, variables, assignment, strings, lists, object & classes)","Imperative programming (modules, flow of control, control structures -- loops, exceptions and exception processing, procedures and parameter passing","Input and Output, files and operations with files"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Exception Handling"],"syllabusSource":"Manual search","courseID":"M196","country":"Canada","uniName":"Mc Master University","courseCode":"COMP SCI 1MD3","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cas.mcmaster.ca/~cs1md3/outline.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eaa","programmingLanguage":["Java"],"learningOutcomes":["Basic skills in the development of Java programs and in solving software development problems.","Basic experience interpreting detailed specifications for code design and producing code that fulfills the specification.","A detailed understanding of fundamental Java constructs, including type, selection statements, loops, methods, arrays (including multidimensional arrays), searching and sorting, built from lectures, hands-on laboratory assignments and homeworks, and evaluated in exams."],"LOCategories":["Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms"],"syllabusSource":"Manual search","courseID":"M190","country":"USA","uniName":"Lehigh University","courseCode":"CSE 2","courseName":"Fundamentals of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cse.lehigh.edu/cse-2","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e75","programmingLanguage":["None"],"learningOutcomes":["Programming emphasizing recursion","data structures, and data abstraction","Elementary analysis of and reasoning about programs."],"LOCategories":["Problem Solving (also things like computational thinking)","Abstraction","Data Structures (general or implied complex like stacks, queues etc)","Recursion"],"syllabusSource":"Manual search","courseID":"M138","country":"USA","uniName":"Syracuse University ","courseCode":"CIS 252","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://coursecatalog.syr.edu/preview_course_nopop.php?catoid=3&coid=9225","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ea9","programmingLanguage":["Java"],"learningOutcomes":["Starting with the fundamental ideas of classes, attributes and methods we will develop many practical examples","Throughout this module we will not only focus on the implementation but also on the design and design techniques of larger software products","Step by step we will use the UML notations and diagrams to represent and reason about different design options."],"LOCategories":["Developing good program Design methodology & styling","Classes & objects","Functions, methods and procedures","UML Modelling language"],"syllabusSource":"Manual search","courseID":"M189","country":"England","uniName":"University of Leicester","courseCode":"CO 1003","courseName":"Program Design ","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://le.ac.uk/modules/co1003","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e4e","programmingLanguage":["C++"],"learningOutcomes":["Introduction to (program) design","Development of algorithmic problem solving skills","Fundamentals of computing","Fundamentals of programming","Introduction to C++ programming"],"LOCategories":["Designing Algorithms","How Computers & computational systems work & history of computing","“Fundamentals of Programming”"],"syllabusSource":"Manual search","courseID":"M99","country":"USA","uniName":"Memorial University of Newfoundland","courseCode":"COMP 1020","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.engr.mun.ca/~alawneh/1020/syllabus.php","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb5","programmingLanguage":["None"],"learningOutcomes":["Students will acquire the basic skills needed to write computer programs.","Students will be exposed to the fundamentals of object-oriented programming.","Students will apply the principles of problem solving and good programming habits.","Students will be able to implement, debug, and test programs."],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Basic OOP","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M201","country":"Lebanon","uniName":"Lebanese American University","courseCode":"CSC 243","courseName":"Introduction to Object Oriented Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://banweb.lau.edu.lb/prod/bwckctlg.p_disp_course_detail?cat_term_in=888888&subj_code_in=CSC&crse_numb_in=243","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eaf","programmingLanguage":["Python"],"learningOutcomes":["Provide an understanding of the role computation can play in solving problems.","Help students, including those who do not necessarily plan to major in Course VI, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.","Position students so that they can compete for UROPs and excel in subjects such as 6.01.","Topics include software design, algorithms, data analysis, and simulation techniques"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M195","country":"USA","uniName":"Massachusetts Institute of Technology","courseCode":"6","courseName":"Introduction to Computer Science and Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/syllabus/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eae","programmingLanguage":["None"],"learningOutcomes":["A first course in programming for B.C.S. students emphasizing problem solving and computational thinking.","Topics include pseudocode, variables, conditionals, iteration, arrays, objects, functions, sorting, searching, and simulation."],"LOCategories":["Problem Solving (also things like computational thinking)","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Pseudocode"],"syllabusSource":"Manual search","courseID":"M194","country":"Canada","uniName":"Carleton University","courseCode":"COMP 1405","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://calendar.carleton.ca/search/?P=COMP%201405","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e7a","programmingLanguage":["Java"],"learningOutcomes":["To give students a deeper understanding of OO design issues and data structure implementation and use.","To provide a deeper insight into fundamental programming concepts.","This module will cover a variety of abstractions and representations (e.g. lists, stacks, queues, trees) making use of the Java Collections framework (a sophisticated Java library)","It will introduce event-driven programming, event handling in Java, GUI programming with AWT/Swing, case studies taken from Java libraries (e.g. java.util, javax.swing)."],"LOCategories":["Basic OOP","Abstraction","Data Structures (general or implied complex like stacks, queues etc)","Arrays, Lists, dictionaries, vectors, sets","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M143","country":"England","uniName":"Newcastle University","courseCode":"CSC 1022","courseName":"Programming 2","associatedDegrees":"Computer Science","prerequisites":"Programming 1","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"http://www.ncl.ac.uk/undergraduate/modules/csc1022/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e53","programmingLanguage":["C++"],"learningOutcomes":["Editing a file containing C++ code: The file containing C++ code is called your “source code” or just code. The code is a sequence of statements in the C++ language, each having a specific action/meaning associated with it.","Compiling: This is a very complex process that we will grossly simplify here as two steps. First, the compiler (we will use a compiler called GNU, but there are many different compilers marketed) will check your program’s syntax (have you used the language correctly?), issuing compile errors accordingly. If all is correct, it will produce an “executable file” that contains the binary translation of your source code which will run on the computer and do the tasks you programmed.","Testing: Just because you have written and successfully compiled a C++ program doesn’t mean that you have a correctly running solution to your problem. You must test the program to see that it indeed correctly solves the problem you set out to solve"],"LOCategories":["Writing programs","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M104","country":"USA","uniName":"Missouri University of Science and Technology","courseCode":"CS 1570","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://classes.mst.edu/compsci1570/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eba","programmingLanguage":["None"],"learningOutcomes":["Explain programming and software development in a modern\ncomputing system environment.\n","Write modular computer programs in a high-level programming\nlanguage.\n","Debug computer programs.\n","Use tools for top-down design approaches to problem solving, such as\nstructure charts, flow-charts, test and verification tools and tracing\ntools.\n","Create algorithmic and program solutions to a wide variety of\nproblems","Practice file operations like file creation, modification, deletion, search,\netc. using contemporary operating systems.\n","Demonstrate general programming skills through program creation,\ndebugging and successful program execution.\n","Document and comment programs for future maintenance.","Assess program source code and documentation for ease of reading"],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Generating clear documentation","File handling & I/O","Testing & Debugging code","Tracing execution of Program"],"syllabusSource":"Manual search","courseID":"M206","country":"Canada","uniName":"Windsor University","courseCode":"60-106","courseName":"Programming for Beginners","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://web4.uwindsor.ca/units/registrar/calendars/undergraduate/cur.nsf/7b931822c9d4f50a85256df70044c1e7/fb6695172a9a1ba385257364004a8752/$FILE/60-106%20(Programming%20for%20Beginners).pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb4","programmingLanguage":["None"],"learningOutcomes":["Knowledge of the object-oriented paradigm","Awareness of the contrast with other programming paradigms\n","Manipulating objects in an IDE\n","Understanding and using documentation in an API\n","Reading, understanding, adapting, creating, and documenting object-oriented code","Reading and running code, and modifying it\n"],"LOCategories":["Code Manipulation","Generating clear documentation","Basic OOP","IDE use"],"syllabusSource":"Manual search","courseID":"M200","country":"Scotland","uniName":"Heriot-Watt University","courseCode":"F27SA","courseName":"Software Engineering 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://www.hw.ac.uk/documents/pams/201617/F27SA_201617.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb3","programmingLanguage":["Java"],"learningOutcomes":["Students learn programming and documentation skills, as well as algorithmic problem-solving, and programming methodologies","Introduces computers, compilers, and editors","Students write small to medium-sized programs"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Generating clear documentation","Command Prompt for Compilation and Execution"],"syllabusSource":"Manual search","courseID":"M199","country":"USA","uniName":"University of California Santa Cruz","courseCode":"CMPS5J","courseName":"Introduction to Programming in Java","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://courses.soe.ucsc.edu/courses/cmps5j","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e7f","programmingLanguage":["None"],"learningOutcomes":["be able to explain the steps involved in a disciplined approach to problem-solving, algorithm development and coding;","be able to demonstrate and explain elements of good programming style","be able to identify, isolate and correct errors in all phases of the programming process","be able to interpret algorithms and program code","be able to appreciate and understand the concept of object orientation as an approach to data abstraction","be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming problems","be able to write code in an appropriate coding language","be able to examine, recognise and be aware of alternate programming approaches to include a broad discussion of procedural and object oriented approaches"],"LOCategories":["Developing good program Design methodology & styling","Designing Algorithms","Problem Solving (also things like computational thinking)","Generating clear documentation","Basic OOP","Abstraction","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M148","country":"Australia","uniName":"Charles Stuart University","courseCode":"ITC 106","courseName":"Programming Principles","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.csu.edu.au/handbook/subjects/ITC106.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e58","programmingLanguage":["Java"],"learningOutcomes":["An ability to program in an object oriented language, using concepts such as object classes, encapsulation, inheritance, and polymorphism.","An ability to use fundamental data structures such as arrays.","An ability to program with sound code structure and use systematic software debugging and testing techniques.\n","Inheritance and polymorphism in Java, simple examples, the Java class hierarchy.","Exceptions and File I/O.","Introduction to graphical user interface components","Recursive programming, basic examples (factorial, Fibonacci numbers, Towers of Hanoi, etc...)\n","Documenting sources of code, effects of software piracy on business and individuals\n"],"LOCategories":["Writing programs","Basic OOP","Classes & objects","Encapsulation","Polymorphism","Inheritance","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O","Testing & Debugging code","Recursion","Exception Handling","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M109","country":"USA","uniName":"Stony Brook University","courseCode":"CSE 114","courseName":"Computer Science 1 - Procedural and object-oriented Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www3.cs.stonybrook.edu/~pfodor/courses/summer/CSE114/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ebf","programmingLanguage":["None"],"learningOutcomes":["fundamental ideas of computing and the principles of programming","Discusses a systematic approach to word problems, including analytic reading, synthesis, goal setting, planning, plan execution, and testing","Presents several models of computing, starting from nothing more than expression evaluation in the spirit of high school algebra. "],"LOCategories":["“Fundamentals of Programming”","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M211","country":"USA","uniName":"Northeastern University","courseCode":"CS 2500","courseName":"Fundamentals of Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://wl11gp.neu.edu/udcprod8/bwckctlg.p_disp_course_detail?cat_term_in=201710&subj_code_in=CS&crse_numb_in=2500#_ga=2.248989775.950053826.1503933752-280108829.1503933750","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424eb8","programmingLanguage":["C++"],"learningOutcomes":["Understand the history of programming languages.","Become familiar with the basics of C++.","Learn to read from the keyboard and files, and write to the screen and files","Use control structures to alter the sequential flow of execution","Use predefined and user-defined functions.","Understand the user-defined simple data type (enumeration type), the namespace mechanism of ANSI/ISO Standard C++, and strings (both string data type and C-String).","Explore arrays (one- and two-dimensional) and records","Apply simple searching and sorting algorithms.","Use pointers to manipulate arrays and to implement dynamic memory allocation.","Apply problem-solving strategies to analyze, design, implement, document, and test a software application"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","Pointers","Searching algorithms","Sorting Algorithms","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M204","country":"USA","uniName":"Wayne State University","courseCode":"CSC 1100","courseName":"Problem Solving and Programming","associatedDegrees":"Computer Science","prerequisites":"Basic math","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":null,"explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb9","programmingLanguage":["Java"],"learningOutcomes":["Understand and apply concepts and techniques for developing, debugging, and documenting programs written in the Java language.","Understand and apply Java control flow constructs, primitive types, and non-primitive types.","Understand and apply object-oriented design and programming concepts in the development of Java programs.","Plan, design, and develop programs using the Java programming language."],"LOCategories":["Writing programs","Generating clear documentation","Basic OOP","Control Structures & logic (if/else etc)","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M205","country":"USA","uniName":"Johns Hopkins University","courseCode":"605.201","courseName":"Introduction to Programming using Java","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://apps.ep.jhu.edu/course-homepages/3514-605.201-introduction-to-programming-using-java-demasco","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e84","programmingLanguage":["Java"],"learningOutcomes":["Read, understand and modify small programs","use an object-oriented programming language to write small programs;","Write programmes with the support of an integrated development environment","Structure data and information as class definitions","Use object-oriented analysis, design and implementation to identify and solve practical programming problems","Test solutions to programming problems","Where appropriate, use class inheritance to create class hierarchies","Use effectively a range of software development tools, such as an integrated development environment, text editor and compile"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Program Comprehension","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","IDE use","Recursion"],"syllabusSource":"Manual search","courseID":"M152","country":"England","uniName":"University of Kent","courseCode":"CO 320","courseName":"Introduction to Object-Oriented Programming","associatedDegrees":"Computing","prerequisites":null,"forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.kent.ac.uk/courses/modules/module/CO320#learning_outcomes","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec4","programmingLanguage":["None"],"learningOutcomes":["Problem solving and algorithms, implementation of algorithms in a high level programming language, conditionals, the iterative approach and debugging","collections of data, searching and sorting, solving problems by decomposition, the object-oriented approach, subclasses of existing classes,","handling exceptions that occur when the program is running, graphical user interfaces (GUIs), data stored in files, abstract data types, a glimpse at topics from other CS courses."],"LOCategories":["Problem Solving (also things like computational thinking)","Basic OOP","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Searching algorithms","Sorting Algorithms","Testing & Debugging code","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M216","country":"USA","uniName":"Purdue University","courseCode":"CS 18000","courseName":"Problem Solving and Object Oriented Programming","associatedDegrees":"Computer Science","prerequisites":"Undergraduate level maths","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://selfservice.mypurdue.purdue.edu/prod/bzwsrch.p_catalog_detail?subject=CS&term=CURRENT&cnbr=18000","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e5d","programmingLanguage":["C","Python","SQL","JavaScript"],"learningOutcomes":["Students learn how to think algorithmically and solve problems efficiently","Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development"," Languages include C, Python, SQL, and JavaScript, plus CSS and HTML"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Abstraction","Encapsulation","Web Development"],"syllabusSource":"Manual search","courseID":"M114","country":"USA","uniName":"Yale University","courseCode":"CPSC 100","courseName":"Introduction to Computing and Programming","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://students.yale.edu/oci/resultWindow.jsp","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ebd","programmingLanguage":["Python"],"learningOutcomes":["Demonstrate an understanding of the basic principles and concepts that underlie the procedural programming model. ","Explain and make use of high-level programming language features that support control, data and procedural abstraction.","Analyse and explain the behaviour of simple programs that incorporate standard control structures, parameterised functions, arrays, structures and I/O.","Implement, test and debug simple programs that use the features listed above."],"LOCategories":["“Fundamentals of Programming”","Abstraction","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M209","country":"England","uniName":"University of Essex","courseCode":"CE 151","courseName":"Introductio to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www1.essex.ac.uk/modules/Default.aspx?coursecode=CE151&level=4&period=AU&campus=CO&year=17","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ebe","programmingLanguage":["Java"],"learningOutcomes":["Students will understand and be able to articulate basic object-oriented design principles, use them to design solutions to given problems, evaluate the quality of such designs, and implement designs in Java","Students will be able to explain the connection between Java syntax and semantics, to describe behaviour expected from given code, and to identify and correct bugs","Students will be to write documentation in Javadoc style, make use of appropriate software development environments, integrate library code with their own programs and make appropriate use of online technical documentation","Students will be able to describe stages in the software development process and the identify software tools which are used to support these stages"],"LOCategories":["“Fundamentals of Programming”","Generating clear documentation","Basic OOP","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M210","country":"Scotland","uniName":"The University of Edinburgh","courseCode":"INFR 09021","courseName":"Introduction to Java Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.drps.ed.ac.uk/17-18/dpt/cxinfr09021.htm","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e89","programmingLanguage":["Java"],"learningOutcomes":["Have a clear understanding of more advanced principles of the Java programming language","Be able to design, code and test Java programs, which meet requirements expressed in English.","Have a basic understanding of principles that govern human performance when using computers and be able to apply such principles in a Java context.","Be able to understand the documentation for, and make use of, the Java API.","Be able to work effectively as a member of a small group working on a non-trivial programming task."],"LOCategories":["Problem Solving (also things like computational thinking)","Generating clear documentation","Control Structures & logic (if/else etc)","Testing & Debugging code","Scope of code"],"syllabusSource":"Manual search","courseID":"M158","country":"England","uniName":"The University of Manchester","courseCode":"COMP 16212","courseName":"Object Oriented Programming with Java 2","associatedDegrees":"Computer Science","prerequisites":"COMP16121","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://studentnet.cs.manchester.ac.uk/syllabus/?code=COMP16212#learningoutcomes","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e62","programmingLanguage":["None"],"learningOutcomes":["Apply knowledge of compiling, running, testing, and debugging programs","Design and implement algorithms to solve problems","Write programs with a structured programming language that utilize variables, operators, expressions, decision statements, loops, nested statements, arrays, methods, objects, classes, inputs, and outputs to solve problems","Write the output of a program by tracing through its source code","Use an integrated development environment for programming","Generate program documentation"],"LOCategories":["Writing programs","Designing Algorithms","Generating clear documentation","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","IDE use","Tracing execution of Program"],"syllabusSource":"Manual search","courseID":"M119","country":"USA","uniName":"University of Georgia ","courseCode":"CSCI 1301","courseName":"Introduction to Computin and Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://www.cs.uga.edu/sites/default/files/CIS_CSCI_1301.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec9","programmingLanguage":["Python"],"learningOutcomes":["Be competent with using basic constructs provided by high-level imperative programming languages: sequencing, selection, and\niteration","Be familiar with algorithmic thinking","Be familiar with simple media manipulation algorithms and how to apply them to solve interesting media manipulation problems.\n","Be familiar with using basic data structure interfaces such as arrays or lists in simple programs.","Be familiar with procedural composition.","Be familiar with many of the possibilities available for creative combination in programmed interactive animations","Be familiar with working in a window-based computing environment.","Be familiar with using a modern interactive program development environment.\n","Be exposed to the virtual machine model of modern computer systems.\n"],"LOCategories":["Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","IDE use","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M221","country":"USA","uniName":"Ohio State University","courseCode":"CSE 1211","courseName":"Computational Thinking in Context","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://coe-portal.cse.ohio-state.edu/pdf-exports/CSE/CSE-1211.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec2","programmingLanguage":["Python"],"learningOutcomes":["Understand the following Python data types and their methods : strings, lists, tuples, files, sets and dictionaries","Be able to implement basic algorithms using selection, iteration and function calling","Be able to apply their understanding of the Python language in designing, implementing and testing programs to solve simple problems in science and engineering.","Be able to (re)structure code using modules and functions to reduce complexity","Appreciate the performance benefits of hashed data structures in certain applications.","Be familiar with simple object oriented programming in Python","Be able to implement simple Graphics User Interfaces in Python.","Be able to review and assess the quality and maintainability of Python code."],"LOCategories":["Writing programs","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M214","country":"New Zealand","uniName":"University of Canterbury","courseCode":"COSC 121","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"http://www.canterbury.ac.nz/courseinfo/GetCourseDetails.aspx?course=COSC121&occurrence=17S1(C)&year=2017","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec3","programmingLanguage":["C++"],"learningOutcomes":["in-depth study of software design and implementation using a modern, object-oriented language with support for graphical user interfaces and complex data structures","Topics covered will be specifications, design patterns, and abstraction techniques, including typing, access control, inheritance, and polymorphism","Students will learn the proper engineering use of techniques such as information hiding, classes, objects, inheritance, exception handling, event-based systems, and concurrency","Students will use C++ to implement the basic concepts in object-oriented programming (OOP). Topics include: the OOP programming paradigm including analysis and design; a survey of related languages; data hiding and encapsulation; inheritance; and polymorphism. "],"LOCategories":["Basic OOP","Abstraction","Encapsulation","Polymorphism","Inheritance","Data Structures (general or implied complex like stacks, queues etc)","Variables, assignment, arithmetic expressions, declarations, data types","Exception Handling","Simple Graphics & GUIs","Multi Threading & Concurrency"],"syllabusSource":"Manual search","courseID":"M215","country":"Ghana","uniName":"University of Ghana","courseCode":"CSCD 205","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.ug.edu.gh/cs/courses/cscd-205-programming-i-c","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e8e","programmingLanguage":["Java"],"learningOutcomes":["Students will be able to develop substantial programs to solve specific problems based on algorithms using standard data structures.","Students will have an awareness of efficiency considerations for different algorithms","Students will be able to read and debug substantial programs written by others.","Instance Methods and Fields.","Object oriented programming and design techniques.","Encapsulation: Public and Private Methods, Public and Private Fields.","Introduction to algorithms - searching and sorting.","Simple complexity analysis, introduction to data structures."],"LOCategories":["Designing Algorithms","Program Comprehension","Basic OOP","Classes & objects","Encapsulation","Data Structures (general or implied complex like stacks, queues etc)","Searching algorithms","Sorting Algorithms","Testing & Debugging code","Evaluating Time/Space Complexity"],"syllabusSource":"Manual search","courseID":"M162","country":"Wales","uniName":"Swansea University","courseCode":"CS 115","courseName":"Programming 2","associatedDegrees":"Computer Science","prerequisites":"Programming 1","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://intranet.swan.ac.uk/catalogue/default.asp?type=moddetail&dept=any&mod=CS-115&ayr=17%2f18&psl=TB2&detailOnly=false","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e67","programmingLanguage":["None"],"learningOutcomes":["Describe the design of a computer program separately from its implementation.","Explain the basic concepts of procedural and object orientated programming in the design and implementation of computer programs","Explain debugging and testing methods and how they contribute to robust code","Design, construct and evaluate simple data structures and algorithms","Plan, organise and implement program code to support reuse and maintainability of the software (project)"],"LOCategories":["Writing programs","Designing Algorithms","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M124","country":"England","uniName":"University of Bath","courseCode":"CM10227","courseName":"Principles of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.bath.ac.uk/catalogues/2017-2018/cm/CM10227.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ece","programmingLanguage":["C"],"learningOutcomes":["understand the basic ideas of programming and write small programs that demonstarte their knowledge of variables, loops, I/O, etc.","confidently write computer programs in the language they have learned during the course (e.g. C); run programs, to produce results","understand the basic ideas of programming and be familiar with variables, arrays, strings, conditionals, loops, terminal and file I/O, functions"],"LOCategories":["Writing programs","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M226","country":"Ireland","uniName":"University College Dublin","courseCode":"COMP 10110","courseName":"Computer Programing 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":"English","url":"https://sisweb.ucd.ie/usis/w_sm_web_inf_viewer_banner.show_module?p_subj=COMP&p_crse=10110&p_term_code=201600&p_semester=Semester%20One&p_website_mode=CONTINUING&p_crumb=%3CA%20href%3D%22https%3A%2F%2Fsisweb.ucd.ie%2Fusis%2Fw_sm_web_inf%3CA%20href%3D%22https%3A%2F%2Fsisweb.ucd.ie%2Fusis%2Fw_sm_web_inf_viewer_banner.show_major%3Fp_term_code%3D201600%26p_cao_code%3DDN201%26p_major_code%3DCSSA%26p_cao_code%3DDN201%26p_website_mode%3DCONTINUING%26p_show_prog_link%3DY%26p_crumb%3D%253CA%2520href%253D%2522https%253A%252F%252Fsisweb.ucd.ie%252Fusis%252Fw_sm_web_inf%22%3E%20DN201%20Computer%20Science%3C%2FA%3E#bookmarkassoc","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec7","programmingLanguage":["None"],"learningOutcomes":["Apply code reading and debugging techniques to analyse, interpret, and describe the purpose of program code, and locate within this code errors in syntax, logic, style and/or good practice.","Describe the principles of structured programming, and relate these to the syntactical elements of the programming language used and the way programs aredeveloped.","Construct small programs, using the programming languages covered, that include the use of arrays, functions and procedures, parameter passing with call by value and call by reference, custom data types, and pointers.","Use modular and functional decomposition to break problems down functionally, represent the resulting structures diagrammatically, and implement these structures in code as functions and procedures."],"LOCategories":["Problem Solving (also things like computational thinking)","Program Comprehension","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Detecting syntax errors","Detecting logic errors"],"syllabusSource":"Manual search","courseID":"M219","country":"Australia","uniName":"Swinburne University of Technology","courseCode":null,"courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.swinburne.edu.au/study/courses/units/Introduction-to-Programming-COS10009/local","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e93","programmingLanguage":["None"],"learningOutcomes":["Describe and explain the types and uses of variables","Apply abstraction to a design problem, resulting in code that uses functions for separation and reuse of functionality.","Design and implement programs to solve problems relevant to their degree scheme","Use third party code and libraries as part of their software solution, and to understand the relevance of software licenses and IPR attribution."],"LOCategories":["Problem Solving (also things like computational thinking)","Abstraction","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types"],"syllabusSource":"Manual search","courseID":"M167","country":"Wales","uniName":"Aberystwyth University","courseCode":"CS 12020","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English, Welsh","url":"https://www.aber.ac.uk/en/modules/deptfuture/CS12020/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec8","programmingLanguage":["Python"],"learningOutcomes":["Understand how computational tools, and computational thinking, are used to solve problems in a diverse set of application areas.","Understand the basic theory and organization of a computer system.","Understand the basic operation of modern software tools (e.g., operating systems, social media tools, embedded operating systems)","Use Python to implement a computational solution, reason about its performance, and measure its efficiency.","Data structures such as lists, vectors, dictionaries, trees","Iteration and recursion","Performance analysis via profiling and timing"],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M220","country":"USA","uniName":"Tulane University","courseCode":"CMPS 1500","courseName":"Introduction to Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.tulane.edu/~carola/teaching/cmps1500/fall13/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e6c","programmingLanguage":["Python"],"learningOutcomes":["Demonstrate proficiency in the purpose and behavior of basic programming constructs.","Design algorithms and programs to solve small-scale computational programs","Write, test and debug small-scale programs","Demonstrate an understanding of the wide-spread application of computational thinking\nto real-world problems"],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M129","country":"USA","uniName":"Rensselaer Polytechnic Institute","courseCode":"CSCI 1100","courseName":"Computer Science 1","associatedDegrees":null,"prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.rpi.edu/academics/courses/fall16/cs1/syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ecc","programmingLanguage":["Python","JavaScript","HTML"],"learningOutcomes":["An introduction to the field of computer science.","Learn the foundations of computer programming, computer algorithms, and data structures.","Practice computer programming using the Python Programming Language.","Learn some other languages, such as HTML (HyperText Markup Language) and JavaScript","Learn how to perform numerical computations, process and transform text, draw graphics and animations, and build dynamic, interactive web sites."],"LOCategories":["Writing programs","How Computers & computational systems work & history of computing","“Fundamentals of Programming”","Data Structures (general or implied complex like stacks, queues etc)","Web Development","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M224","country":"USA","uniName":"University of San Francisco","courseCode":"CS 110","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://cs.usfca.edu/~apjoshi/cs110/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ed3","programmingLanguage":["Python"],"learningOutcomes":["Demonstrate a solid understanding in the selection and application of basic programming language constructs and data types required to write a simple program.","Define instance methods and classes, and use them in writing programs of small to moderate size.","Use the standard programming libraries, and in particular those parts of dealing with files and collections.","Write programs that employ reading and writing text files, reading and writing sequential and random binary files, and accessing the web.","Design and implement simple algorithms for searching, sorting, text handling, and arithmetic, and assess their time complexity.","Given a particular problem (e.g. searching, sorting), be able to implement both iterative and recursive solutions.","Write basic programs that use the most important data structures, including lists, sets and maps.","Proceed from informal descriptions of simple problems to design and implementation of programming solutions.","Comply with good software engineering principles in making programs, such as readability, maintainability, information hiding, and levels of abstraction."],"LOCategories":["Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Abstraction","Classes & objects","Data Structures (general or implied complex like stacks, queues etc)","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M231","country":"Ireland","uniName":"Dublin City University","courseCode":"CA 117","courseName":"Computing Programming 2","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://www.dcu.ie/registry/module_contents.php?function=2&subcode=CA117","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e71","programmingLanguage":["JavaScript","HTML"],"learningOutcomes":["been exposed to the concept of a model","learned the major internal components of a modern computer","practiced binary notation (the internal language of a computer)","become more familiar with powers of 2 (the binary base)","learned 7 fundamental concepts of programming","written code in the JavaScript programming language","effectively tested computer programs for correctness","learned how to execute JavaScript programs in three different ways","used some basic HTML webpage notation to prepare simple Web content","practiced systematic problem solving by developing programs in a top down incremental fashion","learned a few best practices in software development, such as working in small increments"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Testing & Debugging code","Web Development","Command Prompt for Compilation and Execution"],"syllabusSource":"Manual search","courseID":"M134","country":"USA","uniName":"University of North Carolina at Chapel Hill","courseCode":"Comp 110","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.unc.edu/~stotts/COMP110-f14/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e98","programmingLanguage":["None"],"learningOutcomes":["Exposure to problem solving techniques and operations on\ndata using the fundamental components of a programming\nlanguage"," Problem solving techniques and presentations;\nmotivations to programming languages and program\nexecution"," fundamental components of a programming\nlanguage including simple and structured data\nrepresentation","mathematical and logical operations; input/\noutput, control and loop structures","functions; recursion;\nmemory referencing; and simple file processing"],"LOCategories":["“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","File handling & I/O","Recursion","Information Representation"],"syllabusSource":"Manual search","courseID":"M172","country":"Qatar","uniName":"Qatar University","courseCode":"CMPS 151","courseName":"Programming Concepts ","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"yes","courseStage":"1","courseSemester":"1","instructionLanguage":null,"url":"http://www.qu.edu.qa/static_file/qu/students/documents/students-undergraduate-catalog-2016-2017-en.pdf","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ecd","programmingLanguage":["Haskell"],"learningOutcomes":[" To recall the syntax and semantics of the Haskell language","To explain the key features of functional programming languages: recursion, lazy evaluation, lists, higher-order functions","To explain specific features of the Haskell language: partial application, data types, type classes and overloading, basic monadic I/O","To design and implement functions for solving well-specified problems","To define and implement data types for solving a given problem that are both efficient and well-suited to the problem","To use the full range of Haskell’s language features to ensure succinct and elegant solutions to problems","To compare different solutions to the same problem using basic complexity arguments","To develop solutions for more open-ended problems where there is little or no guidance on design"," To use the available Haskell implementations (e.g. GHC, GHCi, Hugs) to implement and execute solutions to given ","To learn about and use any available supporting tools for program development, analysis, debugging etc.","To use the supplied tools and frameworks for program testing and submission"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Evaluating Time/Space Complexity","Recursion"],"syllabusSource":"Manual search","courseID":"M225","country":"England","uniName":"Imperial College London","courseCode":null,"courseName":"Programming 1","associatedDegrees":"Computer Engineering","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.imperial.ac.uk/computing/current-students/courses/120_1/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ed1","programmingLanguage":["Python"],"learningOutcomes":["Demonstrate an understanding of core programming constructs","Write computer programs of moderate complexity","Demonstrate an understanding of some of the principles of good program design","Programming constructs: data and types; variables; expressions; statements; simple I/O; conditionals; iteration; function and method calls; defining functions; scope; modules; strings; sets, lists, tuples and dictionaries; comprehensions; exceptions; file handling. Problem-solving for programming,"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Scope of code","Exception Handling"],"syllabusSource":"Manual search","courseID":"M229","country":"Ireland","uniName":"University College Cork","courseCode":"CS 1117","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.ucc.ie/modules/descriptions/page014.html#CS1117","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e76","programmingLanguage":["None"],"learningOutcomes":["An introduction to a disciplined approach to computer programming and problem solving","with an emphasis on procedural abstraction and good programming style","This course covers the basic repetition and selection constructs, procedures and functions, parameter passing, and scope of variables"],"LOCategories":["Developing good program Design methodology & styling","Problem Solving (also things like computational thinking)","Abstraction","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Scope of code"],"syllabusSource":"Manual search","courseID":"M139","country":"Lebanon","uniName":"American University of Beirut","courseCode":"CMPS 200","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":null,"forMajors":"Yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.aub.edu.lb/fas/cs/acad/Pages/cmps_catalog.aspx","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e9d","programmingLanguage":["None"],"learningOutcomes":["Introduction to problem solving using the computer","basic organization of a computer, file manipulation, use of editors and compilers","iteration and conditional statements","subprograms; elementary data structures."],"LOCategories":["How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","File handling & I/O","IDE use"],"syllabusSource":"Manual search","courseID":"M177","country":"USA","uniName":"Rutgers","courseCode":"21:198:101","courseName":"Computers and Programming","associatedDegrees":"Computer Science","prerequisites":"sufficient maths","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://summer.newark.rutgers.edu/computers-programming-i-3-cr/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ed2","programmingLanguage":["Python"],"learningOutcomes":["Master the basic techniques of programmatic problem solving.","Write programs and run them from the command line.","Recognise compiler and/or runtime errors and be able to resolve errors so discovered.","Distinguish correct program behaviour from incorrect behaviour.","Debug source code, locate errors and fix them.","Master the following programming concepts: variables, control flow (if statements, for and while loops), functions and/or methods.","Understand and be able to use arrays and strings.","Implement basic programming idioms, such as linear search of an array."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Testing & Debugging code","Detecting syntax errors","Detecting logic errors"],"syllabusSource":"Manual search","courseID":"M230","country":"Ireland","uniName":"Dublin City University","courseCode":"CA 116","courseName":"Computing Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://www.dcu.ie/registry/module_contents.php?function=2&subcode=CA116","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ed6","programmingLanguage":["Java"],"learningOutcomes":["Design and implement a standalone program that can interact with the user via prompts and or menus, access and edit data stored in an array or list structure, and use and further process the data found in those structures.","Able to trace code to determine output or results.","Able to implement a given program design and choose correct control structures for implementing algorithms expressed in pseudocode.","Able to interpret a variety of diagram types used to express programming concepts and results: truth tables, memory model diagrams, control flow charts (activity diagrams), class diagrams, object diagrams, and use-case diagrams.","List, describe, use the basic I/O operations for reading and writing text files to and from the computer’s hard drive."],"LOCategories":["Writing programs","Designing Algorithms","Control Structures & logic (if/else etc)","File handling & I/O","Program Comprehension"],"syllabusSource":"Submitted","courseID":"M234","country":"USA","uniName":"University of Wisconsin - Madison","courseCode":"CS200","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://cs200-www.cs.wisc.edu/wp/syllabus/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e7b","programmingLanguage":["Python"],"learningOutcomes":["To learn how to program using Python; to feel comfortable writing programs that can contain basic data structures, user\ninput and other basic language constructs.\n","To learn how to add graphical effects to programs","To introduce the concepts of algorithms and their analysis and design in the context of a simple yet powerful computer\nlanguage, Python","To study some of the basic ideas behind computing, language construct and computer architecture","To be able to use HTML to construct a web page containing forms and write a Python CGI script to dynamically process\ninformation placed in a web form, time permitting.\n"],"LOCategories":["Writing programs","Designing Algorithms","Data Structures (general or implied complex like stacks, queues etc)","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M144","country":"USA","uniName":"Loyola University Chicago","courseCode":"COMP 150","courseName":"Introduction to Computing","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://luc.app.box.com/s/rqubwh2u96999jzzsoek4c28a990rouz/file/55512691058","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea2","programmingLanguage":["C++"],"learningOutcomes":["Problem Definitions: Given a problem, students can create a functional description of the problem including input and output specifications, and processing steps to obtain the output from the input. This description should be added to code as comments.","Problem Synthesis: Given a problem, students should be able to decompose the problem into a sequence of single-purpose functions that are highly cohesive and loosely coupled.","Data Types: Given a functional description of a problem, students can select appropriate data types (including primitive data types and arrays) for storing the input and output values. Declare, define, and initialize one-dimensional, simple data type arrays of a fixed size. Demonstrate the ability to read from and write to an arbitrary array element using array indices. Demonstrate an ability to process the entire array, one element at a time, performing both read and write operations.","Assignment Statements: Given a mathematical expression, students can translate this expression into equivalent syntactically correct programming statements.","Style/Documentation: Given a problem, students can write code that conforms to a programming style specified by the instructor.","Control Structures: Given a problem, students can select and implement the appropriate control structure (if/else, switch, for-loop, while-loop, and do while-loop). Given a problem and a specific control structure, students can implement that control structure to solve the problem. Given the pre/post conditions, students can write functions utilizing various return types and pass by value parameters as appropriate","Code Analysis: Given an unfamiliar code segment and specific inputs, students can analyze the code and predict the result.","Testing and Debugging: During program development students can utilize basic testing methodologies and debugging tools such as stubs, drivers, and integrated debuggers to identify fault points and possible error conditions, and exceptions with try-catch block (as time permits).","File Input and Output: Given a problem, a student can develop input/output modules to read data from the standard input or a text file and write data in a prescribed format either to the standard output or to a text file."],"LOCategories":["Generating clear documentation","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M182","country":"USA","uniName":"Pennsylvania State University","courseCode":"CMPSC 121","courseName":"Introduction to Programming Techniques","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://sites.psu.edu/jas86/teaching/cmpsc-121-spring-2017/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ed7","programmingLanguage":["Java"],"learningOutcomes":["Primitive datatypes: value domains, operators, expression, type conversions, declarations and assignments.","Control structures (selection and repetition): conditional selection (single, two-fold and multiple statements), repetition (pretest and posttest loops).","Composition of data: arrays, Strings, ArrayLists, Sets, Maps.","Classes: specification and implementation.","Inheritance: modeling inheritance, type casts, redefining methods, static and dynamic binding.","Use of libraries (APIs): e.g., to work with files, network, multi-threading.","Implementation of small programs.Testing of small programs with unit testing.","Debugging strategies.","A selection of more advanced programming topics."],"LOCategories":["Writing programs","Control Structures & logic (if/else etc)","Arrays, Lists, dictionaries, vectors, sets","Inheritance","Multi Threading & Concurrency","Testing & Debugging code","File handling & I/O","Variables, assignment, arithmetic expressions, declarations, data types","Basic OOP"],"syllabusSource":"Submitted","courseID":"M235","country":"Netherlands","uniName":"Delft University of Technology","courseCode":"CSE1100","courseName":"Object-oriented programming 1","associatedDegrees":"None","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://studiegids.tudelft.nl/a101_displayCourse.do?course_id=48428","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e80","programmingLanguage":["C++"],"learningOutcomes":["Software Development - The specification, design, implementation, testing, and documentation of software to solve specific problems.","Structured Programming - The syntax, semantics, and use of the basic features of a typical structured programming language (e.g., loops, conditionals, functions).","Algorithms and Data Structures - Basic methods for storing and manipulating data to effectively solve specific problems (e.g., arrays, binary search).","Object Oriented Programming - The syntax, semantics, and use of the basic features of a typical object-oriented programming language (e.g., C++)."],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Generating clear documentation","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M149","country":"USA","uniName":"University of Arkansas","courseCode":"CSCE 2004","courseName":"Programming Foundations 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.csce.uark.edu/~sgauch/2004/S14/index.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea7","programmingLanguage":["None"],"learningOutcomes":["Work independently to develop moderately complex, robust computer programs.","Apply a principled approach to the development of a software program.","Perform effective testing of computer programs.","Undertake reasoned analysis of alternative designs for moderately complex computer programs.","Analyse and debug computer programs.","Understand the need for a structured approach to the software development process.","Basic types and the use of constants and variables. Control flow, and making decisions through the use of conditionals","Parameter passing, formal and actual parameters pass by reference and pass by value, return types","Scoping of variables, and procedures using namespaces. Exceptions and exception handling"],"LOCategories":["Writing programs","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Scope of code","Exception Handling"],"syllabusSource":"Manual search","courseID":"M187","country":"England","uniName":"Lancaster University","courseCode":"SCC 110","courseName":"Software Development","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.lusi.lancaster.ac.uk/CoursesHandbook/ModuleDetails/ModuleDetail?yearId=000114&courseId=016554","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e85","programmingLanguage":["Python"],"learningOutcomes":["design an algorithm, using sequence, iteration and selection;\n","write, compile, test, and debug a computer program","explain how a program written in a procedural language is translated into a form that allows it to be executed on a computer","systematically test your programs","document software to accepted standards","design an algorithm, using a divide and conquer strategy","demonstrate familiarity with basic numerical and discrete algorithms"],"LOCategories":["Writing programs","Designing Algorithms","Generating clear documentation","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M154","country":"England","uniName":"University of Exeter","courseCode":"ECM 1400","courseName":"Programming","associatedDegrees":"Electronic Engineering and Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.exeter.ac.uk/undergraduate/degrees/engineering/eleccomp/#Programme-structure","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eac","programmingLanguage":["Java"],"learningOutcomes":["This course provides the student with experience in developing algorithms","designing, implementing and testing programs","It discusses the fundamental object-oriented programming concepts"],"LOCategories":["Writing programs","Designing Algorithms","Basic OOP","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M192","country":"USA","uniName":"University of Missouri Columbia","courseCode":"CMP_SC 1050","courseName":"Algorithm Design and Programming 1","associatedDegrees":"Comptuer Science","prerequisites":"Mathematical Science","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://generaleducation.missouri.edu/courses/345/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e8a","programmingLanguage":["C++"],"learningOutcomes":[" To grasp an analysis of problems and to determine basic algorithms for their solving","To learn how to use tools for program debugging","To make the acquaintance of testing principles of programs. To possess active basic algorithms. To learn how to document, to present, and to defend the reached results","Control structures. Blocks, scope, and activation."],"LOCategories":["Problem Solving (also things like computational thinking)","Generating clear documentation","Control Structures & logic (if/else etc)","Testing & Debugging code","Scope of code"],"syllabusSource":"Manual search","courseID":"M158","country":"Czech Republic","uniName":"Brno University of Technology","courseCode":"IZP","courseName":"Introduction to Programming Systems","associatedDegrees":"Information Technology","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":null,"url":"http://www.fit.vutbr.cz/study/course-l.php.en?id=12214","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424eb1","programmingLanguage":["Python"],"learningOutcomes":["Students will learn the fundamentals of a programming language. \n(such as language-defined data types (int, float, bool, str, list, tuple, dictionary, and set), programmer-defined classes, control constructs (sequence, selection, repetition), program modules (including functions, modules, methods ) )","Students will be able to demonstrate that they can effectively use the programming environment used in the course.","(Problem solving) Students will design, implement and test readable Python programs to solve problems.","Create algorithms to solve problems. As part of creating a solution, extend the programming language with new statements (functional abstraction) and new types, abstract data types","(Application) Given a set of functions and ADTs, possibly in a package, students will be able to develop an algorithm to solve a problem and implement the algorithm.","(Teamwork) Students will work in teams of two to solve problems in lab sessions."],"LOCategories":["Designing Algorithms","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Teamwork skills & Communication","Abstraction","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M197","country":"USA","uniName":"Michigan State University","courseCode":"CSE 231","courseName":"Introduction to Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cse.msu.edu/Students/Future_Undergrad/CSE_Prereq/Syllabi/CSE_231.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e8f","programmingLanguage":["Java"],"learningOutcomes":["Use Lego Mindstorm Robotics Kits to create robots that can be programmed in Java using a package called TinyVM","Have a focus on event programming","Use Java \"Tiny VM\"  to control a programmable RCX Brick","Use interactive input/output statements","Use arithmetic operations that illustrate operator precedence","Use the selection statements; if, nested-if and switch.","Use the repetition statements; while, for and do-while.","Use array-processing techniques to solve a programming problem.","Use classes and methods to accomplish code reuse.","Perform simple sequential file I/O processing."],"LOCategories":["Problem Solving (also things like computational thinking)","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","File handling & I/O"],"syllabusSource":"Manual search","courseID":"M163","country":"USA","uniName":"University of MISSISSIPPI","courseCode":"CSCI 1111","courseName":"Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://john.cs.olemiss.edu/~lawhead/csci111/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb6","programmingLanguage":["None"],"learningOutcomes":["In this module the students are introduced to the design, implementation and testing of software systems, and to performing a project independently.","to use Software Engineering models, particularly the UML diagrams"," object-orientation and multi-threading with the help of the Java programming language","to distinguish among the different levels at which testing can be performed (specially unit testing and system testing), the principles underlying a test plan and a couple of relatively simple testing techniques.","Explaining and applying the core concepts of imperative programming, such as variables, data types, structured programming statements, recursion, lists, arrays, methods, parameters, and exceptions."],"LOCategories":["Writing programs","Basic OOP","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Recursion","Exception Handling","UML Modelling language","Multi Threading & Concurrency"],"syllabusSource":"Manual search","courseID":"M202","country":"Netherlands","uniName":"University of Twente","courseCode":"15 EC","courseName":"Software Systems","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.utwente.nl/en/education/bachelor/programmes/technical-computer-science/study-programme/first-year/#module-1-the-pearls-of-computer-science","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e94","programmingLanguage":["Java"],"learningOutcomes":["Simple object oriented terminology, including classes, objects, inheritance and methods","Basic programming constructs including sequence, selection and iteration, the use of identifiers, variables and expressions, and a range of data types","Good programming style","Design a short program, compile the program, debug the program and test the program","Use simple programming environments to aid the above process","Analyse a problem in a systematic manner and model in an object oriented approach"],"LOCategories":["Writing programs","Developing good program Design methodology & styling","Basic OOP","Classes & objects","Inheritance","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M168","country":"England","uniName":"University of Southhampton","courseCode":"COMP 1202","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.southampton.ac.uk/courses/modules/comp1202.page#_ga=2.138098992.1271717807.1503599435-1298426235.1503599435","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ebb","programmingLanguage":["None"],"learningOutcomes":["provides a gentle introduction to the fundamental concepts of computer science","students learn problem-solving skills and apply them by writing programs in a visual and fun programming environment that is friendly to beginners"],"LOCategories":["Writing programs","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)"],"syllabusSource":"Manual search","courseID":"M207","country":"USA","uniName":"The University of Utah","courseCode":"CS 1030","courseName":"Foundations of Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.utah.edu/~parker/1030_F16.html","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424e99","programmingLanguage":["None"],"learningOutcomes":["A high-level, object-oriented programming language is introduced as a problem-solving tool","Topics include design, coding, documentation, debugging, and testing of programs","Programming assignments are given in both a closed lab setting and as homework."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Generating clear documentation","Basic OOP","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M173","country":"USA","uniName":"Michigan technological university","courseCode":"CS 1121","courseName":"Introduction to Programming 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://piazza.com/mtu/fall2014/cs1121/home","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ec0","programmingLanguage":["Python"],"learningOutcomes":["determine the state of the program both during and after execution, given a code. listing that may include functions and parameters, loops, conditionals and sequences.","implement a given algorithm using Python.","show that a program meets given specifications by writing appropriate tests.","provide a useful level of documentation, in the form of program comments, for all programs developed.","decompose a simple problem into several smaller tasks, given a brief textual description of the problem.","compose functions that perform a specified task into a program that solves a given problem."],"LOCategories":["Designing Algorithms","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Testing & Debugging code","Tracing execution of Program"],"syllabusSource":"Manual search","courseID":"M212","country":"New Zealand","uniName":"The University of Auckland","courseCode":"COMPSCI 101","courseName":"Principles of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.auckland.ac.nz/courses/compsci101ssc/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424e9e","programmingLanguage":["Java"],"learningOutcomes":["The goal of the course is to teach basic principles and practical issues","Topics include: programming in Java","hardware and software systems","algorithms and data structures","fundamental principles of computation","scientific computing, including simulation, optimization, and data analysis."],"LOCategories":["Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Data Structures (general or implied complex like stacks, queues etc)"],"syllabusSource":"Manual search","courseID":"M178","country":"USA","uniName":"Princeton University","courseCode":"COS 126","courseName":"Computer Science: An interdisciplinary Approach","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.princeton.edu/courses/archive/spring17/cos126/","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ec5","programmingLanguage":["Java"],"learningOutcomes":["The fundamental concepts used in object-oriented software and the\nmanifestation of those concepts in the Java programming language\nThe need for a disciplined approach to software development, including principled organisation, and systematic testing and documentation","Analyse simple requirements expressed in English and reason about how those requirements can be met through modifications to existing Java code or construction of new code","Read and understand the execution of code","With the aid of a compiler, write syntactically correct code","Test and document code","Use suitable diagrammatic notations based on UML","Problem solving capabilities"],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Program Comprehension","Generating clear documentation","Basic OOP","Testing & Debugging code","UML Modelling language"],"syllabusSource":"Manual search","courseID":"M217","country":"England","uniName":"Aston University","courseCode":"CS 1310","courseName":"Java Programming Foundations","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":null,"explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ea3","programmingLanguage":["Java"],"learningOutcomes":["Fundamentals of programming from specification to implementation and testing, covering types, control structures and methods","Object oriented concepts including: classes, encapsulation, arrays and inheritance","Program analysis and design: specification, error handling and ways to test programs"],"LOCategories":["“Fundamentals of Programming”","Basic OOP","Classes & objects","Encapsulation","Inheritance","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","Testing & Debugging code","Exception Handling"],"syllabusSource":"Manual search","courseID":"M183","country":"England","uniName":"The University of Warwick","courseCode":"CS 118","courseName":"Programming for Computer Scientists","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www2.warwick.ac.uk/fac/sci/dcs/teaching/modules/cs118/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eca","programmingLanguage":["None"],"learningOutcomes":["providing a practical introduction to basic computing and programming concepts","Students gain an understanding of, and practical experience in, computer programming; practical experience in implementing informal prose descriptions of problem solutions using an imperative language","an understanding of, and practical experience in, designing, coding, testing and debugging simple algorithms","and an understanding of the principle of incremental development","Other topics include: the concept of program correctness; the differences between high-level languages, assembly languages and machine languages"],"LOCategories":["Designing Algorithms","“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Program Comprehension","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M222","country":"Australia","uniName":"Macquarie University","courseCode":"COMP 115","courseName":"Introduction to Computer Programming","associatedDegrees":"Bachelor of Information Technology","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://handbook.mq.edu.au/2018/Units/UGUnit/COMP115","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ea8","programmingLanguage":["Java"],"learningOutcomes":["Algorithmic thinking and computational problem solving","Fundamentals of computer programming: statements, values, expressions, variables, conditionals, iteration, functions, object-oriented programming, graphics and graphical user interfaces, exceptions, recursion","Software development tools and processes"],"LOCategories":["“Fundamentals of Programming”","Problem Solving (also things like computational thinking)","Basic OOP","Abstract Classes & Interfaces","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Variables, assignment, arithmetic expressions, declarations, data types","Recursion","Exception Handling","Simple Graphics & GUIs"],"syllabusSource":"Manual search","courseID":"M188","country":"USA","uniName":"University of Rochester","courseCode":"CSC 171","courseName":"The Science of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://www.cs.rochester.edu/~ferguson/csc/171/Spring2016/syllabus.html","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ecf","programmingLanguage":["C"],"learningOutcomes":["Design programming solutions to solve problems","Write programs which use multiple forms of input and output","Write programs which dynamically allocate memory as required","Use data structures and recursion when writing computer programs","Appreciate the core concepts of Object Oriented Programming "],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","File handling & I/O","memory allocation","Recursion"],"syllabusSource":"Manual search","courseID":"M227","country":"Ireland","uniName":"University College Dublin","courseCode":"COMP 10120","courseName":"Computer Programming 2","associatedDegrees":"Computer Science","prerequisites":"Computer Programming 1","forMajors":"yes","courseStage":"1","courseSemester":"2","instructionLanguage":"English","url":"https://sisweb.ucd.ie/usis/w_sm_web_inf_viewer_banner.show_module?p_subj=COMP&p_crse=10120&p_term_code=201600&p_semester=Semester%20Two&p_website_mode=CONTINUING&p_crumb=%3CA%20href%3D%22https%3A%2F%2Fsisweb.ucd.ie%2Fusis%2Fw_sm_web_inf%3CA%20href%3D%22https%3A%2F%2Fsisweb.ucd.ie%2Fusis%2Fw_sm_web_inf_viewer_banner.show_major%3Fp_term_code%3D201600%26p_cao_code%3DDN201%26p_major_code%3DCSSA%26p_cao_code%3DDN201%26p_website_mode%3DCONTINUING%26p_show_prog_link%3DY%26p_crumb%3D%253CA%2520href%253D%2522https%253A%252F%252Fsisweb.ucd.ie%252Fusis%252Fw_sm_web_inf%22%3E%20DN201%20Computer%20Science%3C%2FA%3E#bookmarkdescription","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ead","programmingLanguage":["None"],"learningOutcomes":["This unit introduces key aspects of computer programming including data storage and manipulation, and problem solving using a high-level programming language","Topics include: algorithms and problem solving; testing methodologies","fundamental aspects of a programming language including data types, input/output, simple selection and iteration control structures, data structures, one-dimensional arrays;","introduction to the concepts involved in object-oriented programming"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Basic OOP","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M193","country":"Australia","uniName":"Murdoch University","courseCode":"ICT 159","courseName":"Foundations of Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://handbook.murdoch.edu.au/units/details?unit=ICT159&year=2017","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ed4","programmingLanguage":["None"],"learningOutcomes":["Apply basic problem solving techniques to design a program using appropriate modules and data structures to specified requirements.","Implement a program using previously a developed design","Use an Integrated Development Environment (IDE) proficiently to develop programs","To understand the compilation/link processes and interpret errors generated","Design appropriate test data to ensure module and program correctness and robustness","Debug a program using an IDE and by program tracing","Write documentation for a program."],"LOCategories":["Writing programs","Problem Solving (also things like computational thinking)","Generating clear documentation","Data Structures (general or implied complex like stacks, queues etc)","Testing & Debugging code","IDE use"],"syllabusSource":"Manual search","courseID":"M232","country":"Ireland","uniName":"Dublin City University","courseCode":"CMPU 1025","courseName":"Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.dit.ie/catalogue/Modules/Details/CMPU1025?tab=Learning%20Outcomes%20And%20Assessment","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424eb2","programmingLanguage":["Python"],"learningOutcomes":["teaches computational thinking and skills to students","The course will cover abstraction and decomposition, simple modeling, basic algorithms, and programming in Python","Applications from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments"],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Abstraction"],"syllabusSource":"Manual search","courseID":"M198","country":"USA","uniName":"The University of Chicago","courseCode":"CMSC 12100","courseName":"Computer Science with Applications 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://collegecatalog.uchicago.edu/search/?P=CMSC%2012100","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424eb7","programmingLanguage":["None"],"learningOutcomes":["Algorithm development and refinement in problem solving.","Modular programming using sequence, selection, and repetition control structures","Program debugging and testing","Formatted input/output","Data files. Fundamental data types","User-defined data types: structured and enumerated","Arrays and arrays of structures","Simple sorting and searching algorithms","Character data and string processing. Algorithm efficiency considerations. Classes, objects, and introduction to object-oriented programming."],"LOCategories":["Designing Algorithms","Basic OOP","Classes & objects","Data Structures (general or implied complex like stacks, queues etc)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M203","country":"USA","uniName":"Miami University","courseCode":"CSE 174","courseName":"Fundamentals of Programming and Problem Solving","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://bulletin.miamioh.edu/search/?P=CSE%20174","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ebc","programmingLanguage":["C++"],"learningOutcomes":["Demonstrate knowledge and understanding of the basic elements of computer hardware and software and their roles in a computer system.","Demonstrate knowledge and understanding of the fundamental concepts of internal information representation and operations","Demonstrate knowledge and understanding of the algorithmic approach for problem solving.","Demonstrate knowledge and understanding of standard methods and approaches for problem solving.","Design and represent an algorithmic solution for a given algorithmic problem.","Implement the algorithmic solution using C++ as a programming language.","Demonstrate knowledge and understanding of using C++ in implementing various problem solutions in different application areas.","Demonstrate knowledge and understanding of professional ethics in computing field.","Problem solving concepts, algorithms, pseudo-code, and Flow Charts. Control structures, functions, procedures, parameters, one-dimensional arrays"],"LOCategories":["Designing Algorithms","How Computers & computational systems work & history of computing","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Information Representation","Pseudocode"],"syllabusSource":"Manual search","courseID":"M208","country":"Egypt","uniName":"American University of Cairo","courseCode":"CSCE 1001","courseName":"Fundamentals of Computer Science","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"http://www.cs.aucegypt.edu/~csci106k/","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ec1","programmingLanguage":["Java"],"learningOutcomes":["introduction to problem solving through development of computer programs","Focuses on identifying algorithmic patterns in problems, describing problem solutions in high-level pseudocode, then implementing in a procedural programming language","Basic programming concepts are covered in detail including expressions, control structures, simple data types, and input/output","Program testing and debugging are discussed to verify that problems are solved correctly."],"LOCategories":["Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Variables, assignment, arithmetic expressions, declarations, data types","File handling & I/O","Testing & Debugging code","Pseudocode"],"syllabusSource":"Manual search","courseID":"M213","country":"USA","uniName":"George Mason University","courseCode":"CS 112","courseName":"Introduction to Computer Programming","associatedDegrees":"Computer Science","prerequisites":"yes","forMajors":null,"courseStage":null,"courseSemester":null,"instructionLanguage":"English","url":"https://volgenau.gmu.edu/course/view/15850","explicitOrScraped":"Scraped","__v":0},{"_id":"69d97178fb1e222be6424ec6","programmingLanguage":["Java"],"learningOutcomes":["Understand what programming is and the unique feature of Java","Read: Understand programs written in JAVA language\n","Write: Design and implement programs using JAVA language","Compile: Use compiler to convert JAVA code into executable file ","Execute: Run corresponding code to get results","Debug: Identify and fix syntax and semantic errors in JAVA code."],"LOCategories":["Writing programs","Program Comprehension","Testing & Debugging code","Command Prompt for Compilation and Execution"],"syllabusSource":"Manual search","courseID":"M218","country":"USA","uniName":"University of Florida","courseCode":"COP 3502","courseName":"Programming Fundamentals for CIS Majors 1","associatedDegrees":"Computer Science","prerequisites":"MAC 1147 Pre-calculus: Algebra and Trigonometry, or equivalent","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://cise.ufl.edu/class/cop3502sp12/syllabus","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ecb","programmingLanguage":["C++"],"learningOutcomes":["Demonstrate a basic understanding of computer concepts, including software and hardware.","Solve computing problems using a top-down approach in a well-structured design using procedural\nprogramming techniques","Design, implement, test, and debug a C++ program to solve a given problem.\n","Demonstrate knowledge and use of control structures used in procedural programming, including\nsequence, selection, iteration, and functions","Make use of data types and structures in C++ including integer and floating point types,\narrays (one-dimensional, two-dimensional, strings) and structs; arrays of structs and structs\ncontaining arrays. Have a introductory-level understanding of the C++ class and be able to\nutilize the standard IO and string classes and their member functions.","Utilize fundamental algorithms studied to perform common tasks, such as finding the max\nand min of a data set, counting, summing, tracking a previous value, searching and sorting,\nreading until EOF, etc","Consider, compare, and evaluate code segments or simple algorithms for relative efficiency in\na basic fashion.\n","Make use of pointers: understanding their relationship with arrays, their use in function\nparameters and returns, and their importance in dynamic memory allocation."],"LOCategories":["Writing programs","Designing Algorithms","Problem Solving (also things like computational thinking)","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Functions, methods and procedures","Arrays, Lists, dictionaries, vectors, sets","Pointers","Variables, assignment, arithmetic expressions, declarations, data types","Searching algorithms","Sorting Algorithms","File handling & I/O","memory allocation","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M223","country":"USA","uniName":"Florida State University","courseCode":"COP 3014","courseName":"Programming 1","associatedDegrees":"Computer Science","prerequisites":"MAC 1140 or MAC 2311 or MAC 2233","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://ww2.cs.fsu.edu/~jayarama/prog1/Syllabus.pdf","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ed0","programmingLanguage":["Java"],"learningOutcomes":["Solve introductory programming problems in Java.","Break problems into sub-problems, which can then be solved using simple algorithms.","Design algorithms using sequence, selection, iteration and recursion.","Design simple classes using primitive data types, Strings and arrays.","Build object-based programs using class-based decomposition.","Write, compile, test, and debug object-based programs using an Interactive","Development Environment (IDE).","Recognise the software engineering concerns that give rise to the use of classes and other abstraction mechanisms."],"LOCategories":["Designing Algorithms","Problem Solving (also things like computational thinking)","Basic OOP","Classes & objects","Control Structures & logic (if/else etc)","Repitition & loops (for/while etc)","Arrays, Lists, dictionaries, vectors, sets","Strings","IDE use","Recursion"],"syllabusSource":"Manual search","courseID":"M228","country":"Ireland","uniName":"Trinity College Dublin","courseCode":"CS 1010","courseName":"Introduction to Programming","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"https://www.scss.tcd.ie/modules/?m=CS1010","explicitOrScraped":"Explicit","__v":0},{"_id":"69d97178fb1e222be6424ed5","programmingLanguage":["None"],"learningOutcomes":["understand and evaluate simple algorithms;","create simple algorithms;","write simple programs;","debug runtime errors;","identify the fundamental types of modern computing devices and peripherals;","explain the underlying logical concepts that provide the basis for modern computation;","describe basic computer architecture on a theoretical and practical basis & identify the workings of modern operaing systems and differentiate between them;","explain the fundamentals of computer communications and identify security issues relating to it."],"LOCategories":["Writing programs","Designing Algorithms","How Computers & computational systems work & history of computing","Testing & Debugging code"],"syllabusSource":"Manual search","courseID":"M233","country":"Ireland","uniName":"Maynooth University","courseCode":"CS 161","courseName":"Introduction to Computer Science 1","associatedDegrees":"Computer Science","prerequisites":"no","forMajors":"yes","courseStage":"1","courseSemester":null,"instructionLanguage":"English","url":"http://apps.maynoothuniversity.ie/courses/?TARGET=MODULE&MODE=VIEW&MODULE_CODE=CS161&YEAR=2017","explicitOrScraped":"Explicit","__v":0}]