top | item 24934141

Ask HN: I'm a graduate who focused on C/C++, HPC and CG. What to learn next?

3 points| xerok | 5 years ago

I also studied maths and physics, among things I do remember. From those starting subjects, and knowing that I intend to start my career in the domain of computer graphics, I'm looking for a set of other "logical" next ones to learn.

And I'm struggling with defining "logical" in this context. Because right now my primary focus is deepening the set I already have, further exploring those subjects (something I'm doing right now with C++ and CG), and maybe learn a language like Lua. But on the other hand, after finding that job, I want to broaden my general CS knowledge, I'm really curious about cryptocurrencies and what I can do as a CS engineer to help solve the big problems of our time, such as climate change. So any answer going either direction is welcomed.

9 comments

order

cyberdrunk|5 years ago

> I can do as a CS engineer to help solve the big problems of our time, such as climate change

So far, technology has only created environmental problems. I don't think environmental problems created by technology can be solved with technology without creating another problems.

xerok|5 years ago

I think that this topic is quite complex, and generalities are to be done with care. Yes new technologies such as 5G and autonomous cars (electric or not), when doing a comprehensive analysis of those systems, will bring more problems than solutions. But technology has so many other shapes, even in the field of CS. Would working on software to simulate and visualise atmospheric phenomenons be working toward more problems ? Working on optimizing the use of an electric grid ? Even 5G and autonomous cars are not problematic by themselves, its how we plan to make, deploy and use those technologies that will lead to even more troubles. To sum up my view, I think that tech is not the problem, but tech providers and users are.

Petrakis|5 years ago

What to learn next? Interpersonal skills!

billconan|5 years ago

CUDA

vulkan,

ray tracing

fluid simulation

physics engine

xerok|5 years ago

When it comes to ray tracing and fluid simulation, I wonder if I should start with old papers and implementations, because it may be easier to get, or they are so outdated that it would be a waste of time.

anthonyjhan|5 years ago

can someone answer this ? its so hard for me

public class ArrayOfEmployees {

                static Scanner kb = new Scanner (System.in);

                public static void main ( ) {

                         final int SIZE = 100;

                         String [ ] empID = new String [SIZE];             //array of employee's id

                         String [ ] empName = new String [SIZE];           //array of employee's name

                         double [ ] empSal = new double [SIZE];            //array of employee's salary

                         int response;



                         System.out.println ("\fInput " + SIZE + " of Empolyees' Records");

                         accept (empID, empName, empSal);



                         System.out.println (“\nUnsorted lists output:”);

                         displayAllEmp (empID, empName, empSal);

 

    do {

                       System.out.println (“\nEmployee ID is found in location “ + searchByID (empID, empName, empSal));           

                      System.out.println (“\nThere are “ + countEmpSalary (empSal, sal) + “  whose salary is above “ + sal);

        System.out.println ("\nReapeat? Press [0] to stop. >>> ");

        response = kb.nextInt();

    }while (response != 0);



                        sortBySalaryInDescending (empID, empName, empSal);                

                        System.out.println (“\nSorted lists output by Employee's Salary in Descending Order”);

                        displayAllEmp (empID, empName, empSal);



          sortByEmpNameInAscending (empID, empName, empSal);

                        System.out.println (“\nSorted lists output by Employee's Name in Ascending Order”);

                        displayAllEmp (empID, empName, empSal);

                        


                        do {

                       System.out.println (“\nEmployee's name is found in location “ + searchByName (empID, empName, empSal));                  

                      System.out.println (“\nThere are “ + countEmpSalary (empSal, sal) + “  whose salary is above “ + sal);

         deleteSpecificEmpByID (empID, empName, empSal);

        System.out.println ("\nReapeat? Press [0] to stop. >>> ");

        response = kb.nextInt();

    }while (response != 0);                    

                }//End of method main



                //Method Descriptions. 

                //You may also add a code in the main method if you think it is necessary but never delete from the existing code.


1. accept (empID, empName, empSal) – 10 points - input N number of employees’ records. ID number must be unique. If ID number is not unique, discard the input.

2. displayAllEmp (empID, empName, empSal) – 5 points - display all employees’ records in table form

3. searchByID (empID, empName, empSal)) – 5 points - Input employee’s ID to be searched. Display employee’s information if found, otherwise, display an appropriate message. Use linear search in searching.

4. searchByName (empID, empName, empSal)) – 5 points - Input employee’s name to be searched. Display employee’s information if found, otherwise, display an appropriate message. Use binary search in searching.

5. countEmpSalary (empSal, sal) – 5 points - count and returns the number of employee whose salary is greater than sal

6. sortBySalaryInDescending (empID, empName, empSal) – 5 points - arrange the records in descending order using salary as the key

7. sortByEmpNameInAscending (empID, empName, empSal) - 5 points - arrange the records in ascending order using name as the key

8. deleteSpecificEmpByID (empID, empName, empSal) – 5 points - Inputs ID to be deleted. If found, remove the record, otherwise, display appropriate message.

}