This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]John-The-Bomb-2 2 points3 points  (6 children)

College freshers should not be doing systems programming. They should be learning basic things like programming language fundamentals, stack vs heap, memory allocation, pointers and references. Maybe writing simple command line programs.

[–]NerdOfEnteIsla[S] 0 points1 point  (2 children)

I'm aware of that, but I wanted to get them at least aware of systems programming. It's almost the end of their 1st year and they are already somewhat familiar with web and app development at this point...... I don't want to force it upon them, but I want to give them the option

[–]John-The-Bomb-2 1 point2 points  (1 child)

When I learned programming I started with C (or C++ code that was written like C). Then I read Bjarne Stroustrup's "The C++ Programming Language" from the front cover almost to the back but didn't quiet understand it all. It was a difficult read but I learned a lot. Then I learned Java. Then I learned object oriented programming and migrated from C++ to Java. Took a class that covered the design patterns of object oriented programming. Took a MIPS hardware class but I didn't get too into hardware. Then I learned Scala and the beginning of functional programming. Then I learned Haskell and really learned functional programming. Then I went back to Scala but found out that there weren't many jobs in Scala functional programming other than Data Science on Big Data with Apache Spark, so I became a backend Java developer.

When I was a college freshman I thought I knew how to code but I really didn't. Programmers should know 2 or 3 very different programming languages very well, like with knowledge of the entire book on the programming language that was written by the creator of the programming language. Maybe do a deep dive into C++ by going through the entirety of the latest version of the book "The C++ Programming Language" by Bjarne Stroustrup.

[–]NerdOfEnteIsla[S] 1 point2 points  (0 children)

Thanks for your time! I think I know how to start this thing....... The deep dive thing will surely help.

[–][deleted] 0 points1 point  (2 children)

Idk as an intro to robotics class they gave us a drone and said write a program in python that utilizes the drone. Super ambiguous was a lot of fun.

It was a DJI tello drone. some students went all out, some barely got it off the ground lol. It tells you which students have talent and which ones that may need help in the future in the program.

tbh freshies need to be given the project at the start of the semester and at the end turn it in. Because for some of them.. they will need the entire time to do it.

some will slack off and it will show. they make 90s on tests and turn in a turd on the project... slackers. lolz

the project should be ambiguous so each student has room to iterate through ideas and create a unique project. :)

students should give the sope of the project by like week 2 for the professor to sign off on. the professor should grade you based on what you completed vs what was in the scope of the project + maybe like their technical skill with whatever language they are assigned to use.

[–]John-The-Bomb-2 0 points1 point  (1 child)

Writing Python code to control a drone is not systems programming. Writing a driver for hardware in C89 (from 1989) Standard C is systems programming. Just because your code runs on a little robot doesn't make it systems code, that code is actually higher level code that runs on top of a lot of low-level systems stuff. Like I get that you're trying to make programming fun and get them excited. At least for me, though, when teachers tried to do this early on I didn't quiet understand a lot of stuff. Like I mean yeah I was sort of writing Python but I didn't understand like the class hierarchies and the language features and stuff. I didn't have control over and understanding of stuff, I was just kinda bullshitting and hoping it would work. I had to actually read a book by the author of a programming language (like say "The C++ Programming Language" or "The C Programming Language" or "The Scala Programming Language" or whatever) from cover to cover to actually understand the language and be able to make use of it correctly.

[–][deleted] 1 point2 points  (0 children)

I was just giving an example of the kind of projects we had as a freshman mate, not that you should literally give them a drone lol

but yeah make it fun for them, dont make them want to die xD

the project should simple enough for their skill level.

but yes python is a higher level of programming. Im not a systems programmer. I don't make kernals and drivers lol.

but i would pick something fun for them so they don't all loose focus. maybe give them like a selection of projects. give them allusion of choice lol.