- Level Foundation
- المدة 10 ساعات hours
- الطبع بواسطة Dartmouth College
-
Offered by
عن
Enhance your coding skills along your path to becoming a proficient C programmer with the essential concepts of functions and pointers. In this course you will be introduced to the concept of modular programming: that is, dividing up more complex tasks into manageable pieces. You will learn how to write your own functions (just like functions in mathematics for example). You will also gain insight into a computer's architecture and learn how its memory is organized. Given the vast amount of memory computers have these days, how does your program remember where a certain variable is stored? This brings about the important topic of how memory is efficiently addressed inside a computer, and with it, the topic of pointers. Pointers are often considered the most difficult part and main struggle for C program developers. We will introduce you to this central topic with our novel and innovative visualization tools and show you precisely how pointers work. No need to struggle! You will receive instant feedback on your code right within your browser. The programming concepts you will gain in this course are foundational to any programming language. C is a foundational programming language taught at engineering schools around the world, and represents one of the building blocks of modern computer information technology. Invented in the 1970’s. It is still one of the most stable and popular programming languages in the world. By the end of this course, you will have reached the third mile stone in the C Programming with Linux Specialization program, unlocking the door to a career in computer engineering. Your job outlook: - Programmers, developers, engineers, managers, and related industries within scientific computing and data science; - Embedded systems such as transportation, utility networks, and aerospace; - Robotics industry and manufacturing; - IoT (Internet of Things) used in smart homes, automation, and wearables. - IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum) This course has received financial support from the Patrick & Lina Drahi Foundation.الوحدات
Welcome
1
Videos
- Let's get started
About this course
1
Assignment
- Are you ready to start?
6
Readings
- Course syllabus
- Two universities teamed up to offer a new Specialization in C Programming with Linux
- The course team
- Collaborative MOOC
- Earn a Specialization from Dartmouth and IMT
- Get the most out of this course
We want to know more about you
1
Discussions
- Introduce yourself
1
Readings
- Pre-course survey
Learning about the tools
1
External Tool
- Syntax highlighting in Codecast
3
Videos
- Get to work with Codecast
- Learn how to use Taskgrader
- How to navigate with the third-party tools on Coursera?
2
Readings
- Learn how to use Codecast and Taskgrader
- Codecast Sandbox
Interacting on the discussion forum
1
Discussions
- Learn how to post code on the forum
1
Readings
- Learn how to post code on the Coursera forum
Technical, general, organisational and other questions
1
Discussions
- Technical, general, organisational and other questions
Defining functions and passing values to functions
1
External Tool
- Defining functions and passing values to functions
Working with functions
1
External Tool
- Working with functions
Using recursion
1
External Tool
- Using recursion
Learning checklist
1
Assignment
- Self-assess your learning in Functions and recursion
Understanding computer memory
1
External Tool
- Memory management and representation
2
Videos
- Discover the Von Neumann architecture
- Memory representation, RAM, cells, word, byte, bit, memory address
Determining the amount of memory used for different data types
1
External Tool
- Determining the amount of memory used for different data types
Determining the scope of variables
1
External Tool
- Determining the scope of variables
Learning checklist
1
Assignment
- Self-assess your learning in Memory and the scope of variables
Defining pointers and dereferencing pointers
1
External Tool
- Defining pointers and dereferencing pointers
Using pointers with functions
1
External Tool
- Using pointers with functions
Performing simple pointer arithmetic
1
External Tool
- Performing simple pointer arithmetic
Passing arrays to functions
1
External Tool
- Passing arrays to functions
Learning checklist
1
Assignment
- Self-assess your learning in Pointers
Let's continue coding
1
Videos
- Closing MOOC 3 - C Programming: Modular Programming and Memory Management
1
Readings
- Enroll to the next course of the program
We value your feedback
1
Readings
- End of course survey
Auto Summary
Embark on your journey to mastering C programming with our course, "C Programming: Modular Programming and Memory Management - 3." Tailored for aspiring IT and computer science professionals, this course focuses on essential concepts such as functions and pointers, crucial for every programmer. Dive into the world of modular programming and learn to break down complex tasks into manageable pieces. Understand how to create your own functions, akin to mathematical functions, and gain insights into computer architecture and memory organization. This course addresses the critical aspect of memory management, explaining how your program can efficiently remember where variables are stored. The topic of pointers, often seen as challenging, is tackled with innovative visualization tools, ensuring you grasp this essential concept with ease. You'll receive immediate feedback on your code directly within your browser. C programming forms the bedrock of modern computer technology, and the skills you acquire here are transferable to any programming language. Despite being invented in the 1970s, C remains one of the most stable and popular languages today, widely taught in engineering schools globally. Upon completion, you'll have achieved the third milestone in the C Programming with Linux Specialization, positioning you for a successful career in computer engineering. This course is ideal for programmers, developers, engineers, and managers in fields such as scientific computing, data science, embedded systems, robotics, manufacturing, and IoT. Supported by the Patrick & Lina Drahi Foundation and brought to you by Coursera, this foundational-level course spans 600 hours. Subscription options include Starter and Professional tiers, catering to different learning needs. Join us and unlock the potential of C programming, a skill highly ranked by IEEE, the world's largest technical professional organization, as a top language in demand by employers.

Rémi SHARROCK

Petra Bonfert-Taylor