Does Construct 2 teach good programming thinking?

For educators around the world who use Construct 2 in classrooms

Post » Sun Apr 10, 2016 12:48 pm

chadorireborn wrote:But totally I believe that learning first a programming language makes your life even easier in C2 than it already is but learning C2 as a start in learning other programming languages is kind of ineffective except for the other things. But this is just my opinion.

Thank you for sharing your experience. Did you learn C2 in an autodidact form, or did you have help from an other person?

Cipriux wrote:The first time I put my hands on C2 I didn't know how to code except had some BASIC knowledge. At the same time I started learning C# and the Object concept was very abstract to me, but C2 helped me a lot in understanding this concept. Overall, I think C2 is good for understanding the concept of objects, variables, loops, conditions, arrays, even functions to some extent. I can't tell if it teaches good programming practices since I'm no good in any other real programming languages, but it certainly helps a lot.

This opens up a whole new category for me. It seems now (based on your input) that C2 can be used not only as a learning tool for beginners, but also as a side-by-side method to help programmers understand what OOP is.
B
135
S
33
G
17
Posts: 1,557
Reputation: 20,717

Post » Sun Apr 10, 2016 1:05 pm

@glerikud For me it helped understanding OOP because I'm more of a visual person than an abstract thinker.
B
81
S
21
G
23
Posts: 515
Reputation: 18,702

Post » Sun Apr 10, 2016 2:25 pm

@glerikud - I am only self-taught, it was more comfortable for me that way.
The Things you can create is only limited by your imagination. If you don't have the skills then use your motivation as a natural force to exceed all expectations. Chadori RebornXD
B
65
S
21
G
90
Posts: 1,124
Reputation: 59,857

Post » Mon Apr 11, 2016 10:33 pm

chadorireborn wrote:C2 is very simplified that it skips the other important fundamentals in programming


Could you elaborate on what fundamentals your are talking about ?
New to Construct ? Where to start

Image Image

Image Image

Please attach a capx to any help request or bug report !
Moderator
B
292
S
115
G
96
Posts: 7,295
Reputation: 70,795

Post » Mon Apr 11, 2016 11:52 pm

Programming thinking can mean a few things.

I think Construct 2 is an fantastic way of learning/teaching logical, algorithmic, and math based approaches to problems. There is a certain mindset programmers need that one can develop with Construct where you work with the fact that computers will do exactly what you tell them to, nothing more and nothing less, and you have to put that logic ahead of your own.

Construct 2 will not teach other programming essentials like double checking syntax obsessively, clean code, and memory management among other things. It is very forgiving in that sense. How much someone relies on behaviors and pre-made examples without attempting to understand how or why certain code works could also limit how much is learned.
Mistakes were made.
B
52
S
26
G
109
Posts: 1,616
Reputation: 61,653

Post » Tue Apr 12, 2016 6:12 am

oosyrag wrote:Construct 2 will not teach other programming essentials like double checking syntax obsessively, clean code, and memory management among other things. It is very forgiving in that sense. How much someone relies on behaviors and pre-made examples without attempting to understand how or why certain code works could also limit how much is learned.

Thanks for your input. Syntax checking is indeed not a part of this kind of programming (except for expressions), but this is one of the main advantages of visual languages. The programmer can focus on the logic, instead of the syntax. I do see your point, that getting used to checking the syntax is a good practice for a programmer. However I don't think it's the visual languages' job to teach that. Creating clean code on the other hand is a different matter. In my experience as you move forward in programming and create more and more complex projects with C2, the desire (and need) to optimize and create clean code emerges. Memory management is a requested feature, it's truly missing, I'm with you on that one.
B
135
S
33
G
17
Posts: 1,557
Reputation: 20,717

Post » Tue Apr 12, 2016 7:52 am

oosyrag wrote:Construct 2 will not teach other programming essentials like double checking syntax obsessively, clean code, and memory management among other things. It is very forgiving in that sense. How much someone relies on behaviors and pre-made examples without attempting to understand how or why certain code works could also limit how much is learned.


I don't really agree with that part.

Syntax and organizing matters in the name of functions you use, the global variables you use, the abstraction making of an array, and most of all the parts a lot of people complain about when dealing with "making big games" with C2.

On that level, no programming languages "teaches" you those concepts either (apart perhaps syntax stuff, although it is often one of the main issue with signs used in ends of lines and stuff like that), it is up to you, the user/progreammer to be organized and make "clean" and elegant code.

You can have messy C++ code as well, using too much memory, not clean/elegant and so on. The language itself doesn't teach you anything about that, it is just your own experience using it that does the trick, same goes with C2.
Also, it's actually an abuse (even on my part) to compare C2 with C++ since C2 is based on JavaScript, as such a lot of your complains/remarks are the same that "true coders" of low-level languages like C++ will have towards scripts/modern languages like JavaScript.
It's kind of a dead debate all along since it is mostly a matter of perception/point of view/comparing two things that are not really comparable (low level vs high level).

Yes it is "forgiving" to a certain point (it was designed to allow "complete noobs" to get in) and for a small project you can use too big textures and ruin your memory, nonetheless, the overview of the manual ends with the best practices recommendations, the performance tips and memory usage tips that talk about memory management.
You don't have to manage memory assignment like you do in C++, but once again, C2 is closer to JavaScript than C++, and in that, JavaScript memory assignment works about the same. Also, game engine. Go use an engine like Unity or UE4, do you have "so much" memory management control as well ?

I'm being picky on words, but when I learned C++ on my own, quite some years ago now, it did not teach me so much fundamentals as well.
I have experienced also the fact of understand better some of the OOP concepts better once I encountered Construct (Classic at the time) and abstract data structures like arrays became clearer to me through the use of Construct as well.
But it is not the goal of a language or of C2 to "teach" anything.

By its design it will lead you in certain ways, sure, but as long as you are left on your own, you can teach yourself bad ways, I don't think it is specific to C2.
Also, where C++ documentation was hectic, and no two tutorials would start at the same point (which was the worst imo), C2 has a clear starting point (the manual and the beginner's guide) and quite clear and available documentation to help you along.
New to Construct ? Where to start

Image Image

Image Image

Please attach a capx to any help request or bug report !
Moderator
B
292
S
115
G
96
Posts: 7,295
Reputation: 70,795

Post » Tue Apr 12, 2016 8:13 am

Comparing C2 and any language is totally useless.
C2 is not made for teaching programming, because C2 is -over- programming.

When you code in C++, do you keep in mind what happen in Assembler ? Do you try to find what your compiler will do when you do a new ? When you do a pointer ?
Will C++ teach you what the internal motor of the compiler will build ?
Ofc, no. You code your things, you make them works, you use your language to make it reaching your objectives (memory management, speed improvement etc.)

For C2, it's the same.
Not "truly" programming with C2 only means now you have to concentrate on other things. Improve your logic, improve your gameplay, do little demo games etc.
You can't compare C2 to a "classic" language because they are not made for the same thing.

When you buy a pasta-box, do you expect to know how to cook pasta ?
:D
B
13
S
5
G
1
Posts: 138
Reputation: 2,659

Post » Tue Apr 12, 2016 8:40 am

Kyatric wrote:Could you elaborate on what fundamentals your are talking about ?


What I mean are the basic parts of writing code in programming. For example, in C++ all codes starts and ends in a bracket and almost all lines of codes end in a semi-colon. But in Construct2, it is very simplified that you don't need to worry about those things especially when the brackets or semi-colon are one of the beginners frequent errors in writing codes. In C2, it is as if we are writing a story in english and the computer understands it without errors but only unexpected events happens which is normal for beginners. With these features, I really think that Construct 2 can't really help in hastening learning in programming(coding), it won't make any difference in just learning programming(coding) directly. Although, C2 is more helpful in improving logical or mathematical thinking of people and understanding how programming works but not writing codes. But again only my opinion.
The Things you can create is only limited by your imagination. If you don't have the skills then use your motivation as a natural force to exceed all expectations. Chadori RebornXD
B
65
S
21
G
90
Posts: 1,124
Reputation: 59,857

Post » Tue Apr 12, 2016 9:32 am

@chadorireborn: Thanks for elaborating, although I believe there is more to coding than just using the appropriate syntax/punctuation depending on the language itself.
New to Construct ? Where to start

Image Image

Image Image

Please attach a capx to any help request or bug report !
Moderator
B
292
S
115
G
96
Posts: 7,295
Reputation: 70,795

PreviousNext

Return to Education and Construct 2

Who is online

Users browsing this forum: No registered users and 1 guest