Updating search results...

Search Resources

23 Results

View
Selected filters:
  • c-programming
Advanced C++ for High-Performance Computing
Unrestricted Use
CC BY
Rating
0.0 stars

The course aims at providing the fundamental tools for effective C++ programming in the context of high-performance computing. The tools include generic programming techniques, API development, and specific C++-11/14/17 constructs. Starting from a basic knowledge of C++, the attendees should be able to start using C++ language to engineer durable abstractions to develop and optimize applications. Example usage of modern C++ concepts and features are taken from scientific applications used by the HPC community, giving the attendees the opportunity to see the presented tools in action in real world cases.  Exercises are provided from a GitHub repository.  This material is meant to reflect the current state of the current C++ standard.  As the standard changes, some aspects of this course may become outdated.This course is an integral part of the ESiWACE-2 project, and we acknowledge the partial funding from that project.  The contact person is william.sawyer@cscs.ch. 

Subject:
Computer Science
Material Type:
Full Course
Author:
William Sawyer
Date Added:
10/26/2021
Animals of the Chinese Zodiac
Unrestricted Use
CC BY
Rating
0.0 stars

In this lesson plan, students will learn about the 12 animals of the Chinese zodiac. In the introductory first lesson, they will see how animals are often used as symbols. In the second lesson, they will hear one of several versions of how the 12 animals were chosen. They will then focus upon a few of the animals in the story and see how they can be used as symbols of certain human characteristics. In the third lesson, they will be introduced to the other animals of the zodiac, and they will be given a chart on which they will assign traits to each animal. Then they will consult a number of websites to find the traits traditionally associated with the animals, which they will add to their list. Then, they will come up with a number of ways to compare and contrast the animals in the list. In the third lesson, they will focus upon the animal associated with the year of their birth, learning about its traits and discussing whether or not these apply to themselves and their peers. Finally, each student will make an acrostic, combining the letters of his or her first name with adjectives that relate to his or her zodiac sign.

Subject:
Arts and Humanities
World Cultures
Material Type:
Activity/Lab
Homework/Assignment
Lesson Plan
Provider:
National Endowment for the Humanities
Provider Set:
EDSITEment!
Date Added:
12/06/2011
C++ Programming
Unrestricted Use
CC BY
Rating
0.0 stars

The student will learn the mechanics of editing and compiling a simple program written in C++ beginning with a discussion of the essential elements of C++ programming: variables, loops, expressions, functions, and string class. Next, the student will cover the basics of object-oriented programming: classes, inheritance, templates, exceptions, and file manipulation. The student will then review function and class templates and the classes that perform output and input of characters to/from files. This course will also cover the topics of namespaces, exception handling, and preprocessor directives. In the last part of the course, the student will learn some slightly more sophisticated programming techniques that deal with data structures such as linked lists and binary trees. Upon successful completion of this course, students will be able to: Compile and execute code written in C++ language; Work with the elementary data types and conditional and iteration structures; Define and use functions, pointers, arrays, struct, unions, and enumerations; Write C++ using principles of object-oriented programming; Write templates and manipulate the files; Code and use namespaces, exceptions, and preprocessor instructions; Write a code that represents linked lists and binary trees; Translate simple word problems into C++ language. (Computer Science 107)

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
C# Programming
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

Although C# is derived from the C programming language, it introduces some unique and powerful features, such as delegates (which can be viewed as type-safe function pointers) and lambda expressions which introduce elements of functional programming languages, as well as a simpler single class inheritance model (than C++) and, for those of you with experience in "C-like" languages, a very familiar syntax that may help beginners become proficient faster than its predecessors. Similar to Java, it is object-oriented, comes with an extensive class library, and supports exception handling, multiple types of polymorphism, and separation of interfaces from implementations. Those features, combined with its powerful development tools, multi-platform support, and generics, make C# a good choice for many types of software development projects: rapid application development projects, projects implemented by individuals or large or small teams, Internet applications, and projects with strict reliability requirements. Testing frameworks such as NUnit make C# amenable to test-driven development and thus a good language for use with Extreme Programming (XP). Its strong typing helps to prevent many programming errors that are common in weakly typed languages.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Wikibooks
Date Added:
07/28/2016
C Programming
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

C is the most commonly used programming language for writing operating systems. The first operating system written in C is Unix. Later operating systems like GNU/Linux were all written in C. Not only is C the language of operating systems, it is the precursor and inspiration for almost all of the most popular high-level languages available today. In fact, Perl, PHP, Python and Ruby are all written in C. By way of analogy, let's say that you were going to be learning Spanish, Italian, French, or Portuguese. Do you think knowing Latin would be helpful? Just as Latin was the basis of all of those languages, knowing C will enable you to understand and appreciate an entire family of programming languages built upon the traditions of C. Knowledge of C enables freedom.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Wikibooks
Date Added:
07/28/2016
Computer Science I - Version 1.3.7
Conditional Remix & Share Permitted
CC BY-SA
Rating
0.0 stars

This textbook covers the traditional introductory Computer Science I topics but takes a unique approach. Topics are covered in a language-agnostic manner in the first part with supplemental parts that cover the same concepts in a specific language. The current version covers C, Java, and PHP. This textbook as been used in several Computer Science I sections over multiple years at the University of Nebraska-Lincoln.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Author:
Chris Bourke
Date Added:
11/18/2021
Elementary Data Structures
Unrestricted Use
CC BY
Rating
0.0 stars

In this course, the student will learn the theoretical and practical aspects of algorithms and Data Structures. The student will also learn to implement Data Structures and algorithms in C/C++, analyze those algorithms, and consider both their worst-case complexity and practical efficiency. Upon successful completion of this course, students will be able to: Identify elementary Data Structures using C/C++ programming languages; Analyze the importance and use of Abstract Data Types (ADTs); Design and implement elementary Data Structures such as arrays, trees, Stacks, Queues, and Hash Tables; Explain best, average, and worst-cases of an algorithm using Big-O notation; Describe the differences between the use of sequential and binary search algorithms. (Computer Science 201)

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Embedded Controllers Using C and Arduino 2E
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This is intended as an introduction to embedded controllers for students in Electrical Engineering and Technology at the AAS and/or BS level. It begins with a discussion of the C programming language and then shifts to using the open source Arduino hardware platform. Uses both the Arduino library and more direct coding of the controller.

Subject:
Applied Science
Engineering
Material Type:
Textbook
Provider:
Dissidents
Author:
James M. Fiore
Date Added:
01/13/2014
Epplets
Only Sharing Permitted
CC BY-NC-ND
Rating
0.0 stars

Epplets present extended Parsons puzzles. In a Parsons puzzle, the student is presented a problem statement, and a program to implement it, but with the lines in the program scrambled. The student must reassemble the lines in their correct order and eliminate distracters. The tutor provides feedback until the student arrives at the correct solution. Epplets help students construct the algorithm for a problem.

Subject:
Applied Science
Material Type:
Activity/Lab
Assessment
Homework/Assignment
Interactive
Date Added:
12/27/2016
Introduction to C++
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This is a fast-paced introductory course to the C++ programming language. It is intended for those with little programming background, though prior programming experience will make it easier, and those with previous experience will still learn C++-specific constructs and concepts.
This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Dunietz, Jesse
Kovacs, Geza
Marrero, John
Date Added:
01/01/2011
Introduction to C++
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This is a fast-paced introductory course to the C++ programming language. It is intended for those with little programming background, though prior programming experience will make it easier, and those with previous experience will still learn C++-specific constructs and concepts.
This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Dunietz, Jesse
Kovacs, Geza
Marrero, John
Date Added:
01/01/2011
Introduction to C and C++
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This course provides a fast-paced introduction to the C and C++ programming languages. You will learn the required background knowledge, including memory management, pointers, preprocessor macros, object-oriented programming, and how to find bugs when you inevitably use any of those incorrectly. There will be daily assignments and a small-scale individual project.
This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider Set:
MIT OpenCourseWare
Author:
Li, Frank
Lieber, Tom
Murray, Kyle
Date Added:
01/01/2013
Introduction to Computer Science II
Unrestricted Use
CC BY
Rating
0.0 stars

This course is a continuation of the first-semester course titled Introduction to Computer Science I. It will introduce the student to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. The student will begin with a comparison between Java--the programming language utilized last semester--and C++, another popular, industry-standard programming language. The student will then discuss the fundamental building blocks of Object-Oriented Programming, reviewing what they have learned learned last semester and familiarizing themselves with some more advanced programming concepts. The remaining course units will be devoted to various advanced topics, including the Standard Template Library, Exceptions, Recursion, Searching and Sorting, and Template Classes. By the end of the class, the student will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting. Upon successful completion of this course, the student will be able to: Demonstrate an understanding of the concepts of Java and C++ and how they are used in Object-Oriented Programming; Demonstrate an understanding of the history and development of Object-Oriented Programming; Explain the importance of the C++ Standard Template Library and how basic components are used; Demonstrate a basic understanding of the importance of run-time analysis in programming; Demonstrate an understanding of important sorting and search routines in programming; Demonstrate an understanding of the generic usage of templates in programming for C++ and Java; Compare and contrast the features of Java and C++. (Computer Science 102; See also: Mathematics 303)

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Provider:
The Saylor Foundation
Date Added:
11/16/2011
Introduction to MIPS Assembly Language Programming
Unrestricted Use
CC BY
Rating
0.0 stars

This book was written to introduce students to assembly language programming in MIPS. As with all assemblylanguage programming texts, it covers basic operators and instructions, subprogram calling, loading andstoring memory, program control, and the conversion of the assembly language program into machine code.

However this book was not written simply as a book on assembly language programming. The larger purposeof this text is to show how concepts in Higher Level Languages (HLL), such as Java or C/C++, arerepresented in assembly. By showing how program constructs from these HLL map into assembly, theconcepts will be easier to understand and use when the programmer implements programs in languages likeJava or C/C++. Concepts such as references and variables, registers, binary and Boolean operations, subprogram execution, memory types (heap, stack, and static), and array processing are covered to clarify thedecisions made when implementing HLL. Program control is presented using a mapping from structuredprograms in pseudo code to help students understand structured programming, and why it exists. Memoryaccess in assembly is presented to high light the difference between references (pointers) and values, and howthese impact HLL.

This book has numerous code examples, and many problems at the end of each chapter, and it is appropriate for a class in Assembly Language, or as a extra resource for a class in Computer Organization.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Gettysburg College
Author:
Charles Kann
Date Added:
11/09/2018
Intro to Physical Computing / Internet of Things
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This course introduces students to the fundamental concepts of physical computing systems through hands-on, real-life applications. Physical computing forms the basis of smart devices, wearables like smart watches, e-textiles / fashion, IoT (Internet of Things) devices, and hardware start-up

This course teaches students to design electronic devices that interact with the physical world by building circuits and developing software algorithms that run on a microcontroller. These devices will also be connected to the internet so they can send sensor data to dashboards and be remotely operated from a computer or mobile device.

This course is designed specifically for university undergraduate students from all majors. It presumes no in-depth knowledge of physics or math nor prior experience with electronics. The only expected prerequisite knowledge is introductory experience with procedural programming (i.e. variables, functions, loops).

Subject:
Applied Science
Career and Technical Education
Computer Science
Electronic Technology
Engineering
Material Type:
Activity/Lab
Assessment
Full Course
Homework/Assignment
Lecture
Lesson
Syllabus
Author:
Rob Parke
Date Added:
07/21/2020
Learn C++
Read the Fine Print
Educational Use
Rating
0.0 stars

It is devoted to teaching you how to program in C++. Whether you’ve had any prior programming experience or not, the tutorials on this site will walk you through all the steps to write, compile, and debug your C++ programs, all with plenty of examples.

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Date Added:
04/01/2023
Microsoft .NET
Unrestricted Use
CC BY
Rating
0.0 stars

.Net is a web application framework. It was developed
by Microsoft to allow programmers to build dynamic web sites, web applications and web
services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is
the successor to Microsoft's Active Server Pages (ASP) technology. Asp is executed on the
server side, with its output sent to the user’s Web browser , thus allowing the sever to generate
dynamic web pages based on the action of user. ASP.NET supports C#(C sharp), C++, Visual
Basic, VB .NET, Python COBOL, Perl and third party languages. ASP.NET is not a limited to
scripting language it allow us to build very compelling language by making use of visual studio

Subject:
Applied Science
Material Type:
Lecture Notes
Date Added:
08/08/2019
Programming in C++ — The C++ Language, Libraries, Tools, and Other Topics (Lecture Slides and Video Lectures)
Only Sharing Permitted
CC BY-NC-ND
Rating
0.0 stars

LECTURE SLIDES ABSTRACT:

The abstract for the lecture slides is as follows:

This document, which consists of approximately 2500 lecture slides, offers a wealth of information on many topics relevant to programming in C++, including coverage of the C++ language itself, the C++ standard library and a variety of other libraries, numerous software tools, and an assortment of other programming-related topics. The coverage of the C++ language and standard library is current with the C++17 standard.

C++ Programming Language. Many aspects of the C++ language are covered from introductory to more advanced. This material includes: the preprocessor, language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, variable, and alias templates, variadic templates, template specialization, and SFINAE), lambda expressions, inheritance (run-time polymorphism and CRTP), exceptions (exception safety and RAII), smart pointers, memory management (new and delete operators and expressions, placement new, and allocators), rvalue references (move semantics and perfect forwarding), concurrency (memory models, and happens-before and synchronizes-with relationships), compile-time computation, and various other topics (e.g., copy elision and initialization).

C++ Standard Library and Various Other Libraries. Various aspects of the C++ standard library are covered including: containers, iterators, algorithms, I/O streams, time measurement, and concurrency support (threads, mutexes, condition variables, promises and futures, atomics, and fences). A number of Boost libraries are discussed, including the Intrusive, Iterator, and Container libraries. The OpenGL library and GLSL are discussed at length, along with several related libraries, including: GLFW, GLUT, and GLM. The CGAL library is also discussed in some detail.

Software Tools. A variety of software tools are discussed, including: static analysis tools (e.g., Clang Tidy and Clang Static Analyzer), code sanitizers (e.g., ASan, LSan, MSan, TSan, and UBSan), debugging and testing tools (e.g., Valgrind, LLVM XRay, and Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), version control systems (e.g., Git), code coverage analysis tools (e.g., Gcov, LLVM Cov, and Lcov), online C++ compilers (e.g., Compiler Explorer and C++ Insights), and code completion tools (e.g., YouCompleteMe, and LSP clients/servers).

Other Topics. An assortment of other programming-related topics are also covered, including: data structures, algorithms, computer arithmetic (e.g., floating-point arithmetic and interval arithmetic), cache-efficient algorithms, vectorization, good programming practices, software documentation, software testing (e.g., static and dynamic testing, and structural coverage analysis), and compilers and linkers (e.g., Itanium C++ ABI).

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Lecture Notes
Provider:
University of Victoria
Author:
Michael D. Adams
Date Added:
06/27/2020