Latest Courses
Easy Widget Development: Code WordPress Widgets from ScratchCheck course
Python Basics for Software DevelopmentCheck course
How to Build a Java Spring Boot Web Application from ScratchCheck course
Blazor in 2020Check course
A Complete Guide to WebSocketsCheck course
React JS For Beginner Convert Any HTML Site To React JSCheck course
Visual C# with WinForms: Step by Step Projects for BeginnersCheck course
DigitalOcean Cloud Platform FundamentalsCheck course
Vue and Laravel AuthenticationCheck course
Fullstack Serverless Engineering (AWS, Node.js, React+Redux)Check course
Easy Widget Development: Code WordPress Widgets from ScratchCheck course
Python Basics for Software DevelopmentCheck course
How to Build a Java Spring Boot Web Application from ScratchCheck course
Blazor in 2020Check course
A Complete Guide to WebSocketsCheck course
Interacting with the System and Managing Memory

Interacting with the System and Managing Memory

FREE

Add your review
Add to wishlistAdded to wishlistRemoved from wishlist 0
Add to compare
8.8/10 (Our Score)
Product is rated as #19 in category C

The final course in the specialization Introduction to Programming in C will teach you powerful new programming techniques for interacting with the user and the system and dynamically allocating memory. You will learn more sophisticated uses for pointers, such as strings and multidimensional arrays, as well as how to write programs that read and write files and take input from the user. Learning about dynamic memory allocation will allow your programs to perform complex tasks that will be applied in the final part of the specialization project: a Monte Carlo simulation for calculating poker hand probabilities.

Instructor Details

Andrew Hilton is an Associate Professor of the Practice in the Department of Electrical and Computer Engineering in the Pratt School of Engineering at Duke University. He has taught at Duke since 2012, and prior to that he was an advisory engineer at IBM. Among the courses Professor Hilton teaches at Duke is ECE 551, an intensive introduction to programming course that successfully prepares graduate students with no programming experience to learn programming and go on to complete more advanced programming courses. In recognition for excellence in teaching in the Pratt School of Engineering at Duke, Professor Hilton received the Klein Family Distinguished Teaching Award in 2015. Professor Hilton holds a PhD in Computer Science from the University of Pennsylvania.

Specification: Interacting with the System and Managing Memory

Duration 44 hours
Year 2018
Level Beginner
Certificate Yes
Quizzes Yes

15 reviews for Interacting with the System and Managing Memory

3.9 out of 5
9
0
3
1
2
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Avatar

    Stephen L

    This course it the 4th and final course in the “Introduction to Programming in C” specialization from Duke University here on Coursera. This review will be for this course in particular and the specialization as a whole since I see no other way to review the entire specialization. First comes the good things. This course reinforced what I learned about pointers in the previous course and it also showed me how to get my C programs to accept input from the command line and how to make those programs read/write to/from other files in a system. If I look at the specialization as a whole it reinforced C basics (which I already knew going in), really improved my understanding of pointers in general, gave me a basic understanding of Makefiles, as well as all the other things I’ve already mentioned. From a standpoint of understanding the C language I was very pleased with what I learned here.It isn’t all sunshine and roses however. This specialization in general, and the final projects for each course in particular, are an exercise in frustration. The general problem with this course, and the entire series, is that your connection to server where you do all of your work is prone to kick you out, seemingly at random, with no notice whatsoever. Also, once you’re kicked out, there can sometimes be delays before you can get back in again. I’ve encountered this on multiple networks, web browsers, and operating systems. I would STRONGLY recommend setting up Cygwin (if you run Windows), or copying the project over to your computer if you’re running Mac or Linux, and doing your work locally. Then copy it back to the server to submit for grading. While this is inconvenient it still isn’t as bad as being in the middle of your project and suddenly losing all ability to work on it.The final projects for the courses are the worst. All grading is done automatically by scripts on the host machine. When your program fails, and it will fail, you aren’t given enough information to be able to correct it. For example, prior to submitting one program I verified it against all of the supplied test cases and also verified with valgrind that it did not have any memory errors. When I submitted it the grader informed me that valgrind detected memory errors. Where were these errors? What sort of errors were they? I didn’t know because I didn’t have access to the valgrind output from the grader. What input condition led to these errors? I had no idea because I can’t see what input the grader provides to my code. So I know that something is wrong but I don’t know what it is or even what causes it to happen. And I’m supposed to fix this somehow?On another program the grader only told me that a particular line number in my code’s output did not match the expected value. What was the expected output? I have no clue as this isn’t listed in project documentation or grader feedback. What was my code’s output? No idea as I don’t know what input condition led to this problem in the first place. Once again I’m left guessing as to what might be wrong and what might have caused the problem to appear. Due to this lack of feedback I could not have passed this course or the previous one in the series if I hadn’t found the instructors’ email addresses and worked directly with them on the projects. This really bothers me as I’ve made a living for many years doing testing and QA work on a variety of hardware and software. If I submit a bug and all it says is “something is wrong” I can expect to hear from the designer/programmer asking for more information. If they ask me what input I gave the program, or what power level I applied to a device under test, and I tell them to guess – I can expect to hear from my supervisor and probably theirs too. The feedback you get from the grader is simply inadequate and unprofessional. Improving this one aspect would take this course, and the entire specialization, up to 5 star status.

    Helpful(7) Unhelpful(0)You have already voted this
  2. Avatar

    Douglas H

    The 4th course in the specialization was great. The programming project is challenging enough to keep you interested and learning while not so challenging that it can’t be completed with the skills learned. Great course.

    Helpful(0) Unhelpful(0)You have already voted this
  3. Avatar

    Igor G

    Great 4 courses in C language programming. The courses cover a lot of ground – basics of C, emacs, valgrind, memory allocation, deallocation, C pointers, data structures, etc. The exercises are quite challenging sometimes, underscore importance of testing. Well done!

    Helpful(1) Unhelpful(0)You have already voted this
  4. Avatar

    Dhiego S d S

    Very challenging course.

    Helpful(0) Unhelpful(0)You have already voted this
  5. Avatar

    Dimitris K

    The help in the forum is problematic. You are waiting many days to get a reply in case you get stuck.

    Helpful(4) Unhelpful(0)You have already voted this
  6. Avatar

    Donglai R

    This is the worst course I have ever taken.

    Helpful(1) Unhelpful(0)You have already voted this
  7. Avatar

    Gaston M

    Great Course!!

    Helpful(0) Unhelpful(0)You have already voted this
  8. Avatar

    Martin H

    The course itself is nice, but the testing is horrible. In no company in the world you would not know the testcase. In this course you have to guess them. That was crazy.

    Helpful(3) Unhelpful(0)You have already voted this
  9. Avatar

    Alan–Frank V

    Took me a while to complete, very interesting

    Helpful(0) Unhelpful(0)You have already voted this
  10. Avatar

    J K

    after finally getting used to Emacs (although partially ruining my speed in Sublime Text.. grmbl), I grew increasingly amazed by the thoroughness of the entire trajectory of 4 courses. It is well–structured, in order, and the poker project once finished felt like having built my own project from scratch (of course, it was not, but in retrospect that’s what it felt like). At times, the project frustrated the hell out of me, however DuckDuckGo (no Google please) and the videos/readings gave all the information needed – with some help reading other people’s forum posts. The best course trajectory I’ve taken, even in comparison with the Deeplearning.ai trajectory which I’ve also completed. I’ll be buying the book for sure. Very good.

    Helpful(0) Unhelpful(0)You have already voted this
  11. Avatar

    Omar E A

    i really loved the style of that course. the challenging assignments, depending more on reading and the continuous support through the discussion forums. i hope you make another extension to c++

    Helpful(0) Unhelpful(0)You have already voted this
  12. Avatar

    Levin M J S

    Fucked up professors who don’t give any resources to implement the skillsets.

    Helpful(1) Unhelpful(0)You have already voted this
  13. Avatar

    Guo F

    Wonderful assignments and course arrangements.

    Helpful(0) Unhelpful(0)You have already voted this
  14. Avatar

    Ashok k M

    what about the last assignment …that totally worst because a person could not identify the assignment questions . plz clear that issue

    Helpful(0) Unhelpful(0)You have already voted this
  15. Avatar

    Grace N

    Expect to cry.

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Interacting with the System and Managing Memory
    Interacting with the System and Managing Memory

    Price tracking

    Register New Account
    Reset Password
    Compare items
    • Total (0)
    Compare