Enrollment in C programming course

  • Thread starter Giant
  • Start date
  • #1
Giant
50
10
I've decided to learn programming in my holidays. And I've enrolled myself in a C programming class (Apparently they don't allow C++ unless you know C). The course requirement says familiarity with "programming techniques" I tried searching it but I din't get the meaning I just got various techniques. So 1.)what exactly is the meaning? I know HTML if that helps and I learned little python some years ago, the results were awesome but I have forgotten most of the stuff.

It's a four hour daily course for one and a half month. 2.) What should I expect?
And 3.) What is the aptitude required?
I love physics and maths. Fortunately I can grasp the set theory terms that computer science people usually use. I have good grasping skills. I have bad short-term memory, absence of mind, bad social skills, good reasoning skills. I can visualize stuff verry good. What more?

Please advice me more if you feel that I need it. And Thank you very much in advance
 

Answers and Replies

  • #2
abitslow
140
14
I wouldn't say that knowing html qualifies as familiarity with prog.techn. Python does. My guess is that the course assumes you understand about variables, types, sub-routines, assignment, and flow control, among other concepts. If you are unsure whether you have the background to hit the ground running, then you definitely should buy a book on C for absolute beginners. Amazon will be a good place to start. Then start WORKING through the book.
To specifically answer your questions:
1. You would have to ask the instructor. I assume previous programming is required. If you can't look at simple Python code and understand its meaning, if you wouldn't know how to begin to write code to compute the factorial of any number input, if you couldn't create a program to play "guess my number", then I'd guess you lack some of the basics you'll need.
2. 4hrs x 5 times a week? 4x? You should expect to spend 3x that per week doing coding outside of class. (If you're not, then the course is more of an overview than actually teaching how to do it).
3. You need to be proficient in logic. If all men are mortal and if Plato died, was Plato a man? You also need to be able to create an algorithm (recipe) to get from a given set of starting facts to a desired result (goal).
(4.) If you have learning disabilities, then your guess is much better than mine about what you will need to do. One thing for sure: practice, practice, practice.
 
  • Like
Likes 1 person
  • #3
Giant
50
10
I am indeed an absolute beginner. I don't even know what a compiler means.
My guess is that the course assumes you understand about variables, types, sub-routines, assignment, and flow control, among other concepts.
This all is close to a foreign language for me
All I was told about python was open this, type this, rename it and save it. It worked but I don't know how. Its a sad story :(

Its a 4 hour daily for 6 days a week for 1 month (not one and a half, I'm sorry for that),
I asked again they gave more details saying that 2 hrs theory 2 hrs practicals.
I know I'm not going to understand the answer for this question but how far should I expect to go with c programming in 1 month?? So at the end of one month I'll know what I'm lacking.

If all men are mortal and if Plato died, was Plato a man?
Yes.

I don't have any learning disabilities. When I was small I was considered by the non-computer man as a computer-geek. As a matter of face I still am. But all I did was this https://xkcd.com/627/ . Later I realized how Illiterate I am.:biggrin:
 
  • #4
36,855
8,888
I believe that you will have a tough time in this course, based on how you have described yourself ("absolute beginner") and lack of familiarity of programming techniques. Because they will be presenting two hours of information each day, and assuming that you understand basic programming techniques, such as those abitslow listed, it's likely to be very difficult for you to keep up.
 
  • #5
Giant
50
10
I'll get the book that abitslow recommended. I am sure it's not impossible and there are still 6 days for the course to start. Thank you making me realize the situation. I'll try as hard as I can. Best of luck to me :(
 
  • #6
Borek
Mentor
29,201
3,879
  • #7
Giant
50
10
A guy and his dog go into a bar. The bartender says, "Hey, get that dog out of here... we don't allow dogs in here."
"Wait a minute", the guy says, "This is no ordinary dog ! This is 'Plato' the talking dog !"
"Yeah, sure," says the bartender.
"I'll prove it to you," says the guy. "Plato... what's on top of a building?"
"ROOF !" says the dog.
"Look," says the bartender, "just how dumb do you think I am?"
"Wait a minute," says the guy. "Plato, how does sandpaper feel?"
"RUFF !" says the dog.
"Do I have 'stupid' tattooed across my forehead or something?" asks the bartender. "Now get that dog out of here! "
"Wait.. I'm not through", says the guy. "Plato, who was the greatest baseball player of all time?"
"RUTH !" says the dog.
"That does it ! " says the bartender, and he throws them both out on the street.
Outside, the dog looks at his owner and says, "Do you think I should have gone with DiMaggio?"

I was going to change the name but I don't want to piss anyone off.
No offence Borek.

Thead getting off topic I'm scared it mite be closed.
 
  • #8
craigi
615
36
Aptitude for maths is a very strong indicator of aptitude for coding. Some people pick it up incredibly quickly, others just struggle with it.

Any head start you can get from books and online guides will be beneficial. If you can find out which development environment you'll be using, getting some familiarity with that will help too. It's likely that you'll be able to download a version of your development environment for free.

There are books and guides that claim to teach C in one day. That's a dubious claim, but you can easily skip through all the features of the language within that time. It's a pretty small language, but you're certainly not going to be a "good" C programmer after 24 hours. You need time to use the language to really learn it properly and even with C, professional programmers still learn new things years later.
 
Last edited:
  • Like
Likes 1 person
  • #9
Giant
50
10
I've been doing some reading, people claim that after 23 years of programming they are still not sure they know all about c++

I bought this book
https://www.amazon.com/dp/0789751984/?tag=pfamazon01-20
Its fairly well written.I already know what "development environment" means,, so that is a progress. hehe
I guess we'll be using turbo or visual basic (They are IDEs rite?) I'm not sure yet.

I don't expect to learn very fast. In fact I expect that I should learn how to learn. After this one month course I'll be doing another 1 month course of c++ . I've to learn python, java, FORTAN, MATLAB and mathematica.

I'll read that book for 6 days and see how it goes.

Thank you all for your inputs. :cool:
 
Last edited by a moderator:
  • #10
craigi
615
36
Turbo is an IDE, Visual Basic is a different programming language.

If you're not sure, I'd guess that you'll be using Visual Studio.

You can download free versions of Turbo or Visual Studio.

I wouldn't recommend just reading the book for 6 days straight. Your time would be better spent writing and running code based upon what you learn along the way.
 
  • #11
Giant
50
10
Oh yes that must be visual studio. I'm sorry for that.

So I should practice writing codes from the book before attending the class? That book recommends an IDE called Code::Blocks (its free) so I'm guessing that is good too.
Thank you again.

And whatever posted previously, I should get to that stage? (Computing a factorial of a given number, etc)
 
  • #12
craigi
615
36
Visual Studio is widely regarded as the industry standard for C/C++. The Express versions are free.

I'd recommend following the book and writing code as you go through it. As it introduces a new concept, use it in your program. You'll remember it much better that way and it'll help you understand what the book is trying to teach you.

You wouldn't learn maths very well by just reading about the methods. You have to use them for yourself. Coding is the same in this respect.
 
  • #14
Giant
50
10
"Writing codes by following the book." I understand it better when you use math analogy.

Edgardo thanks for the link I'll look into it in the morning ( I'm in +5.30 time zone. So it's night )

Hopefully I'll have plenty of time tomorrow to execute all these suggestions
Thanks a lot.
 
  • #15
MathAmateur
67
8
Visual Studio is widely regarded as the industry standard for C/C++.

Well... I guess if you want to write slow programs for Windows that may be true, but there are other environments that are used much more extensively than Visual Studio. The GNU g++ and gcc compilers I would regard as the industry standard for C/C++. The problem is that for a beginner they are VERY intimidating, frightening actually.

If I were learning programing, I would start with Python. It is a nice clean language which is easy and fun to learn. C and C++ are bears even in a friendly environment like Visual Studio.

Mathematica is fun too.
 
  • #16
Giant
50
10
I found out there are no good python classes here. I'll have to learn it on my own. So having a background in some (popular and available) programming language would be good I figured. So there is 1 month c programming course and from May onward I'll do C++.

What do you think??

I can change my plan after 7 May because that's when this course will get over
 
  • #17
rcgldr
Homework Helper
8,806
590
  • #18
Giant
50
10
WOW Thanks.
I"ll try to solve.
 
  • #19
cpt_carrot
29
4
You could try this programming puzzle series as a learning example, only 4 instruction types, but even experienced programmers will take a while to solve the last puzzle. From a prior thread:

https://www.physicsforums.com/showthread.php?t=561124

Thanks for those, they gave me a fun half hour!

My solution to hte last puzzle is below for anyone interested, I think it works...

T05H9T0T0T3AT3AT3A
 
  • #20
Adyssa
198
3
There's a good C tutorial here you might want to look at, to get warmed up a bit.

http://c.learncodethehardway.org/

I would recommend you do it with Cygwin (in Windows) or a Linux virtual machine so you don't have to deal with Windows and can use the standard tools (gcc, gdb, valgrind, make). Most tutorials assume you are using these standard tools.
 
  • #21
rcgldr
Homework Helper
8,806
590
My solution to the last puzzle is below for anyone interested, I think it works ...
Not quite correct. There shouldn't be any output until after 3 asterisks in a row are input. After this, the tape is copied, including the final 3 asterisks in a row (but not the first 3), then all I/O is stopped. With only 4 instruction types, you can program this by trial and error if you get stuck. This puzzle provides basic concepts of programming, input, output, conditionals, and branching.
 
  • #22
cpt_carrot
29
4
Not quite correct. There shouldn't be any output until after 3 asterisks in a row are input. After this, the tape is copied, including the final 3 asterisks in a row (but not the first 3), then all I/O is stopped. With only 4 instruction types, you can program this by trial and error if you get stuck. This puzzle provides basic concepts of programming, input, output, conditionals, and branching.

As far as I can tell that is what my program does, as long as reaching a blank register causes all I/O to stop. What do you think is wrong with it?
 

Suggested for: Enrollment in C programming course

Replies
4
Views
181
  • Last Post
Replies
10
Views
862
  • Last Post
Replies
4
Views
614
Replies
2
Views
715
Replies
8
Views
483
Replies
2
Views
426
Replies
11
Views
306
  • Last Post
Replies
3
Views
331
Replies
4
Views
545
Top