I current have 103.09% 567.00 / 550.00 points in my university's intro CS class. (Java programming)

I current have 103.09% 567.00 / 550.00 points in my university's intro CS class. (Java programming)
Why do people find programming difficult? It's literally just formatting common sense in a way the computer can understand

"I currently am a cock sucking queer and excel at sucking black nigger cocks and swallowing semen, Why do people find it so difficult? It's literally just being a raging homo" - OP

Let's see what you think about it after you actually started programming.

Cant tell if b8 thread or serious

>intro CS class
If you can't A+ any intro class from any faculty you're not gonna make it. You're not a special snowflake because you can fizzbuzz

>intro cs class
>java

Do they teach java nowadays at CS courses?

I literally only did C and C++ shit with exception of a little bit (and very little) C# shit when doing networking classes but like I said it was pretty much 4 years of only C/C++.

that's a lie.

They certainly did over 10 years ago when I started CS. It doesn't really matter which language you use to teach basic concepts like conditions or loops.

I would never lie

>Being proud of being able to fizzbuzz
You haven't seen shit yet

This. Why the fug do universities keep pushing Java as the “intro” language? It's fugging awful for learning the ideas of programming

import java.util.Scanner;
public class LolJava {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);

String name;
System.out.println("Enter your name: ");
name = input.next();

System.out.println("Hello, " + name + "!");
}
}


versus

name = input("Enter your name:")
print("Hello," , name)

They teaching us it because it's a corporate wage slave language. My high school taught it too.

>103.09%
Why is this allowed?
Make a test to evaluate the students and give then a score out of that.
Why give them "extra" points?

Because it has a tard-friendly environment. We were all persuaded to use Netbeans because it is all preconfigured for push-butan-to-start-jvm

>started software developer course
>Started off with c# and visual studio

>tard-friendly
In what way is my Java example more tard-friendly than the Python one?

What learning Java as a first language does is make you think programming is all about remembering semicolons and being able to recall public static void main(String[] args) from memory instead of actually thinking like a programmer. All this stupid verbose boilerplate makes you think you've done a lot of work when all you've done is written 10 lines to get to what python can do right from line 1.

I'm not saying Python is better than Java generally but when you need to teach the concepts of programming Java just gets in the way.

I've never struggled with anything computer-related aside from programming. Got any tips for me, OP? I'm on GNU/Linux, I use i3, I'm always in tmux, I use vim. How did you first get started learning? Was it school or just self-learning?

If you already use and know the command line then a good place to start might be scripting. Think of something repetitive you do and try to automate it with Bash, Python or whatever. E.g. learn how the core utils (grep, awk, etc) work and make yourself a command line greeting that shows you a bunch of status info. Would also teach you about Linux at the same time.

bee yourself

GET A JOB faggot
and fight with some bullshit enterprise SOAP CRM

>starting an intro programming class at a new uni known for being "rigorous" and hoping I'll still have a decent amount of free time

I'm worried I won't get it and I'll take forever to do anything, scary.

Dont use Enju for blatant shitposting ever again
But also
>Java
>CS
At least use a language that doesnt require bloated functions to resolve basic problems

How do you teach the concept of types when python does that automagically for you?

>spend 3 years of highschool learning python
>first day of CS class
>teacher says "alright students, this course centres around the programming language C and C++
mfw i learned the wrong language

Well I was talking about the absolute beginning of teaching programming, before students need to worry about types. But Python still has types:
foo = 3
bar = 5
baz = "hello"
mung = " world"

print(foo + bar)
print(baz + mung)
print(bar + baz)

$ python3 LolJava.py
8
hello world
Traceback (most recent call last):
File "LolJava.py", line 8, in
print(bar + baz)


You don't declare a variable as a type, and Python infers the type for you on assignment, but it still teaches you that ints and strs don't mix the way an int and an int, or a str and a str does.

ybw you realise learning 2 languages is not a bad thing

Whoops, snibbide snabbed :DD the last line of the error
TypeError: unsupported operand type(s) for +: 'int' and 'str'

You're using Java. Java is designed for brainlets to work safely. Work in a language with any decent expressiveness like C, a Lisp, Haskell, Scala, etc. and it's easy to separate the code monkeys from the programmers.

>before students need to worry about types.
So, basically only the first lesson? People need to know that 3 and "3" are very different things.

>started CS this semester
>got highest grade on first two exams
>top of the class
Feels good

How many hours a week do you work on the class?

I am concerned I'm a brainlet and going to have to work like 40 hours for one class

Why do they even tech circuit analysis in CS? Like literally 90% of CS grads work as programmers and never touch that shit

To be honest I did put in around 40 hours a week.
But it really didn't feel like work because I liked C and did most of the book exercises even though they were not obligatory.

>People need to know that 3 and "3" are very different things.
Yes.. and my example shows that exactly.
3 + 3 = 6
"3" + "3" = 33
3 + "3" = error

I'm not saying Python is the best for this, but surely we can come together to agree that Java is a poor choice for this.

>intro CS class. (Java programming)

Oh I guess I am worrying since I do like it, didn't think about how it wouldn't feel like work.

Just kinda worried about maintaining a 4.0 with 1 class eating up that much time, but I hope it'll be okay.

"3" + "3" concatenates to "33", not an int literal 33
3 + "3" also concatenates to "33" in java, you don't get an error at all

At the same time in the OCaml world
$ ocaml
OCaml version 4.06.0

# 3 + "3";;
Error: This expression has type string but an expression was expected of type
int
# 3 + 3;;
- : int = 6
# 3 + 3.0;;
Error: This expression has type float but an expression was expected of type
int
# 3.0 +. 3.0;;
- : float = 6.
# 3.0 + 3.0;;
Error: This expression has type float but an expression was expected of type
int
# "3" + "3";;
Error: This expression has type string but an expression was expected of type
int
# "3" ^ "3";;
- : string = "33"
#
And code monkeys are still using untyped languages.

How do you convert "33" in to 33 in java. Is there anything like C's sscanf in Java?

You can use Integer.parseInt to convert a single String. I don't know if there's a scanf equivalent but there is a printf.

you can parse the String to get two chars and use the Character class to convert each char into an int.
Then you multiply the leading int by 10 and add the ending one to get 33

Now, have fun with shit like
a = 3
b = 2
c = a / b

C#
String numStr="33";
Int numInt= int.Parse(numStr);
;^)

>>> a = 3
>>> b = 2
>>> c = a/b
>>> print(a, b, c)
3 2 1.5
>>> print(type(a), type(b), type(c))


Is this not what we want?

no a / b should've done integer division to get c to be 1.

In Python 2 it's different. Like in Java, you need to cast one or else it truncates.

That's what // is for.

In java, // is for line commenting

In python it's integer division :)

ok have fun not having a job

Integer divisions are always tricky since it's not obvious if it will be automagically converted to float or not. You need to know how your current language handles it, and in the case of python this even changed from python2 to python3.
It's easy to spot in the given examples here but can be harder in more complex codebases.

Explicitly typed languages make it harder to make type-related errors that may sneak into the code unnoticed.

Jesus

>his first CS intro to algos class wasnt in C

I enrolled my uni when I was fucking 16 but even then I had enough gray matter to realize it doesn't mean shit in the actual industry.

It's physically painful for me to read posts of retarded CS kids. Why is it accepted? Who the fuck gives them Internet access? Where are their parents looking?

>it doesn't matter what you learn in uni
Did you enroll in gender studies?

He is one of those retards who enrolled into a Uni for its classes only, yet ignored the library and tools provided which are expected to be used beyond classes by those who have an actual goal with Uni.
So he might as well have enrolled into gender studies because he's one of those idiots who fell for the CS marketing and think that the name alone is a job, without actually taking a day or few to sit on his dumb ass, consolidate what CS teaches, and then think upon how that can apply so he can construct a career end-goal for himself out of that field.

To put it in layman words:
He is like a kid who has been given LEGO blocks,
but he is too stupid to figure out what he wants to build out of those blocks and then convert an idea into a deed, instead blankly staring at them.

it's like you don't know what the internet is

The Internet won't teach you how to be a worker in cybersecurity, a worker for some government organization, or a worker for NASA or some other technological organizations dealing with complex and important projects.
The Interent can at best teach you how to be a little code monkey making scraps and stupid shit, like your ambition seems to be.
For the relevant stuff, the knowledge banks are closed off to the Internet and the entrance is Uni.
Another thing you are too stupid to grasp.

Your (((CS class))) and (((common sense))) has nothing to do with actual programming you'll do for living.

>projecting this hard

>actual programming
Show examples

If buzzwords are the only thing you know how to throw, it's no wonder that you are also easily influenced by buzzwords. Your mind is full of shit.
You need to cleanse your mind and get your life in order before you can talk shit, otherwise you will come off as the shit.

>the knowledge banks are closed off to the Internet
cute

>projecting this hard
LMAO

You think companies and organizations are willing to release the knowledge and experience gained over the years free to the wild and their competitors, not to mention other nations?
Get your head out of your ass. You have to earn that knowledge, the Internet is merely a puddle of shit information, and shit users like yourself who think they are chocolate despite the smell of dung coming off of them.

>Projecting this hard
I started working in the industry before graduating, user. My "16 years" were 11 years ago.

>I started working in the industry
Working on code of conducts on GitHub isn't "the industry" user.

>babby's first into programming
Come back to us if you had the job.

>so much projecting
It's sad by this point.

10 seconds to solve the n queens problem, go (basic brute force solutions acceptable)

algorithm:
backtracking

proof:
induction

qed

You must be a textbook author.

CS isn't hard because of programming, or even because of academic rigor. It's hard because when you're not a freshman you're constantly swamped in math p-sets, hardware design problems, giant projects, and chem and physics homework. Meanwhile you're applying for internships, grinding LeetCode, padding your GitHub, going to hackathons, doing research, etc.

Java:
> presents a nice balance of programming concepts (static typing, object oriented programming, lambdas, threads)
> can be used for basically anything
> is fast enough to implement performant data structures and algorithms
> is mature and job-friendly
> paves the way for Scala, Clojure, Kotlin, etc.
> is taught by the AP Compsci program.

Most of the issues with teaching Java are fixed when students learn Scheme or Haskell (assuming you go to a non-shit university).