• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Programming |OT| C is better than C++! No, C++ is better than C

I'm having problem with this. It gives me error saying "There is an error in XML document (2, 2)." I can't see anything wrong with my XML document. What I'm trying to achieve is to covert all the <game> tags into object in C#.


XML
Code:
<?xml version="1.0" encoding="utf-8" ?>
<games>
	<game>
		<name>...</name>
		<year>...</year>
		<platform>...</platform>
	</game>
	<game>
		<name>...</name>
		<year>...</year>
		<platform>...</platform>
	</game>
	<game>
		<name>...</name>
		<year>...</year>
		<platform>...</platform>
	</game>
	...
</games>

C#
Code:
public class game
    {
        public String name { get; set; }
        public String year { get; set; }
        public String platform { get; set; }
    }

C#
Code:
XmlSerializer deserializer = new XmlSerializer(typeof(List<game>));

TextReader reader = new StreamReader("XML source file path...");

List<game> videogames = new List<game>();

videogames = (List<game>)deserializer.Deserialize(reader);

reader.Close();

MessageBox.Show("Name: " + videogame.name + "\nYear: " + videogame.year + "\nPlatform: " + videogame.platform);
 

usea

Member
I'm having problem with this. It gives me error saying "There is an error in XML document (2, 2)." I can't see anything wrong with my XML document. What I'm trying to achieve is to covert all the <game> tags into object in C#.
If there's an error in your xml, we're not gonna find it without the actual xml.

Or you can use an online service to maybe find the error. This was the first result for a quick google search http://xmlgrid.net/validator.html


edit: hold up
 

usea

Member
What is the inner error? Quick googling shows that that could be pretty much anything XML related.
<games xmlns=''> was not expected.

Mitochondrian, it's expecting xml in a slightly different format. One way to find out an acceptable format is to serialize some games to xml and look at its output. Here's some xml I serialized with basically the exact same code you pasted:
Code:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfGame xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <game>
    <name>contra</name>
    <year>2001</year>
    <platform>snes</platform>
  </game>
  <game>
    <name>smash bros.</name>
    <year>199</year>
    <platform>ps4</platform>
  </game>
  <game>
    <name>goldeneye</name>
    <year>1983</year>
    <platform>c64</platform>
  </game>
</ArrayOfGame>

Here's my save method:
Code:
public void SaveGames(List<game> games, string filepath)
{
	var serializer = new XmlSerializer(typeof(List<game>));
	using(var writer = new StreamWriter(filepath))
	{
		serializer.Serialize(writer, games);
	}
}
If you change the parameter from List to ICollection or array or whatever, the xml looks the same.
 
<games xmlns=''> was not expected.

Mitochondrian, it's expecting xml in a slightly different format. One way to find out an acceptable format is to serialize some games to xml and look at its output. Here's some xml I serialized with basically the exact same code you pasted:
Code:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfGame xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <game>
    <name>contra</name>
    <year>2001</year>
    <platform>snes</platform>
  </game>
  <game>
    <name>smash bros.</name>
    <year>199</year>
    <platform>ps4</platform>
  </game>
  <game>
    <name>goldeneye</name>
    <year>1983</year>
    <platform>c64</platform>
  </game>
</ArrayOfGame>

Here's my save method:
Code:
public void SaveGames(List<game> games, string filepath)
{
	var serializer = new XmlSerializer(typeof(List<game>));
	using(var writer = new StreamWriter(filepath))
	{
		serializer.Serialize(writer, games);
	}
}
If you change the parameter from List to ICollection or array or whatever, the xml looks the same.

I tried this and it gives me the same error.

Code:
<?xml version="1.0" encoding="utf-8" ?>
<games xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<game>
		<name>...</name>
		<year>...</year>
		<platform>...</platform>
	</game>
	<game>
		<name>...</name>
		<year>...</year>
		<platform>...</platform>
	</game>
	<game>
		<name>...</name>
		<year>...</year>
		<platform>...</platform>
	</game>
	...
</games>
 
You want a programming language that has web application support. I would go with either Java which uses Applets or C# which uses Silverlight. Either one will work great.
No, god noooooo.gif

Or just JavaScript, which could be all you need depending on exact requirements.
Yes.

I need it just to show two sides of one card and then be able to randomize cards so they're not always in the same order.
CSS animations will do the flipping for you (and here's another example). I'd honestly put all of the cards on the DOM, hidden, (unless you're going to have millions of flash cards) and then use Javascript to make only a randomly chosen one visible at a time.
 

Bruiserk

Member
So, I have this website for a school project. I have to load an interactive Google maps thing using their api. The map displays and everything, but I can't get it to load markers on it. I followed their tutroial on using PHP/MySQL to get the information from a database, but I haven't been able to make it work. My file to set up the XML document is fine, when I call it in my browser I get the expected result: http://www.vpdcp.host-ed.me/markers.php

But it won't load onto the map. Here is my code, it is pretty much verbatim from the tutorial:

Code:
<script type="text/javascript">
      function initialize() {
      var mapOptions = {
        center: new google.maps.LatLng(49.250, -123.111),
        zoom: 11,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);

      var infoWindow = new google.maps.InfoWindow;

      // Change this depending on the name of your PHP file
      downloadUrl("markers.php", function(data) {
        var xml = data.responseXML;
        var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          var point = new google.maps.LatLng(
              parseFloat(markers[i].getAttribute("lat")),
              parseFloat(markers[i].getAttribute("lng")));
          var marker = new google.maps.Marker({
            map: map,
            position: point
          });
    	}
      });
      }

    function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

    request.onreadystatechange = function() {
          if (request.readyState == 4) {
            request.onreadystatechange = doNothing;
            callback(request, request.status);
         }
        };

        request.open('GET', url, true);
        request.send(null);
    }
  </script>

I'm not quite sure what the data does in function(data). In the tutorial I don't see them declare a variable named data to pass into the function.

Here is the website so you can see yourself: http://www.vpdcp.host-ed.me/website.html
I'm not doing the design of the website, only the back end stuff so this version doesn't look good!
 
Try putting this:
Code:
    bindInfoWindow(marker, map);

like this:

Code:
    var point = new google.maps.LatLng(
              parseFloat(markers[i].getAttribute("lat")),
              parseFloat(markers[i].getAttribute("lng")));
   var marker = new google.maps.Marker({
            map: map,
            position: point
          });
      bindInfoWindow(marker, map);
 
     }
  });
}
 

Bruiserk

Member
Try putting this:
Code:
    bindInfoWindow(marker, map);

like this:

Code:
    var point = new google.maps.LatLng(
              parseFloat(markers[i].getAttribute("lat")),
              parseFloat(markers[i].getAttribute("lng")));
   var marker = new google.maps.Marker({
            map: map,
            position: point
          });
      bindInfoWindow(marker, map);
 
     }
  });
}

I don't think I need bindInfoWindow, I don't need anything to happen when the user clicks on the marker.
 

D4Danger

Unconfirmed Member
I got an error on this line

Code:
request.onreadystatechange = doNothing;

doNothing is a function that doesn't exist in the code posted so it's probably crashing out there. Which means your callback isn't getting called.

at the link there's an empty function under downloadUrl

Code:
function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request, request.status);
        }
      };

      request.open('GET', url, true);
      request.send(null);
    }

    function doNothing() {}   <---- this

although I've never seen anyone use onreadystatechange like that before so I could be wrong.
 

Bruiserk

Member

lol, I kind of meant how. I'm not too well versed in web development, so I'm not sure how to use Chrome to check for errors.

doNothing is a function that doesn't exist in the code posted so it's probably crashing out there. Which means your callback isn't getting called.

at the link there's an empty function under downloadUrl

Code:
function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request, request.status);
        }
      };

      request.open('GET', url, true);
      request.send(null);
    }

    function doNothing() {}   <---- this

although I've never seen anyone use onreadystatechange like that before so I could be wrong.

I'll try this after my shower, thanks dude.
 
Need some help in writing a program (in C++) using the while loop. It is not the while loop itself that gives me problems it's how the question is worded and how to incorporate teh while loop with it.

Here's the prompt for the assignment

--------------

1. Write, compile and run a C++ program using a while loop to convert temperatures from
Celsius to Farenheit degress and from Farenheit to Celsius degrees. The loop should be
interactive and should ask the user to determine what the user wants to do with the following
prompts:
Type 1 to convert from Celsius to Farenheit
Type 2 to convert from Farenheit to Celsius
Type 3 to end the program

--------------

Now so far I've written this...

Code:
  int main()
{
  double F;
  double C;
  double temp;
  int select;
  int loop;

  cout << "Please select one of the following procedures: " << endl;
  cout << "Type 1 to convert from Celsius to Fahrenheit" << endl;
  cout << "Type 2 to convert from Fahrenheit to Celsius" << endl;
  cout << "Type 3 to end the program" << endl;
  cin >> select;
  cout << "Please input the value of the measurement you wish to convert" << endl;
  cin >> temp;

  while(select == 1)
    {
      F = temp * (9/5) + 32;
      cout << temp << "degrees Celsius is " << F << " degrees Fahrenheit" << endl;

      else if(select == 2)

          C = (temp - 32) * (5/9);
          cout << temp << "degrees Fahrenheit is " << C << "degrees Celsius" << endl;

          else
            break;
    }
        cout << "This program has ended" << endl;

  return 0;
}

So the code is not finished, but whilst writing it I've noticed that it looks eerily similar to a switch statement. Am I doing this the proper way? If not can someone direct me how to go about it properly?
 

Kalnos

Banned
^Does something like this work?

Code:
bool isRunning = true;
double F;
double C;
double temp;
int select;
int loop;


while (isRunning)
{
         cout << "Please select one of the following procedures: " << endl;
         cout << "Type 1 to convert from Celsius to Fahrenheit" << endl;
         cout << "Type 2 to convert from Fahrenheit to Celsius" << endl;
         cout << "Type 3 to end the program" << endl;
         cin >> select;
         cout << "Please input the value of the measurement you wish to convert" << endl;
         cin >> temp;

         switch(select)
         {
               case 1:
                  convert Celcius to Fahrenheit
                  break;
               
               case 2:
                  convert Fahrenheit to Celcius
                  break;
                
               case 3:
                  isRunning = false;  //this will end the while loop
                  break;

         }

}
 

Slavik81

Member
In C++, 9/5=1

Beware that if your division inputs are both integer types, the result will also be an integer.

Making one of the numbers a floating point value will force floating point math. E.g. 9.0/5=1.8
 
^Does something like this work?

Code:
bool isRunning = true;
double F;
double C;
double temp;
int select;
int loop;


while (isRunning)
{
         cout << "Please select one of the following procedures: " << endl;
         cout << "Type 1 to convert from Celsius to Fahrenheit" << endl;
         cout << "Type 2 to convert from Fahrenheit to Celsius" << endl;
         cout << "Type 3 to end the program" << endl;
         cin >> select;
         cout << "Please input the value of the measurement you wish to convert" << endl;
         cin >> temp;

         switch(select)
         {
               case 1:
                  convert Celcius to Fahrenheit
                  break;
               
               case 2:
                  convert Fahrenheit to Celcius
                  break;
                
               case 3:
                  isRunning = false;  //this will end the while loop
                  break;

         }

}

Thank you very much, I used this format and my code executed perfectly

In C++, 9/5=1

Beware that if your division inputs are both integer types, the result will also be an integer.

Making one of the numbers a floating point value will force floating point math. E.g. 9.0/5=1.8

Indeed, when I first ran the code I was getting a wrong value. Thanks for the tip.
 
Sup programmers of neogaf, i have a really strange question:


I've written a java program that connects to a external mysql database and it works perfectly on OSX compiled in eclipse but does not work (Connection Refused) on Windows 7 and i have absolutely no idea why.
 
Sup programmers of neogaf, i have a really strange question:


I've written a java program that connects to a external mysql database and it works perfectly on OSX compiled in eclipse but does not work (Connection Refused) on Windows 7 and i have absolutely no idea why.

Tried it with windows firewall off?
 
Then probably permissions on the mysql side. Have you granted to the new IP?

yes, they are in the same IP range. works with every possible IP on the mac.


Can you ping the server just fine? Or telnet in?

Is the port closed? Is the port correct in the program (it must be if it works on Mac OS... duh)

What about the mySql side?

yes works just fine. if i enter the wrong password for mysql it reports me that he refused the connection with this password. the mysql database is not mine and i didn't set it up.


thanks for all the inputs so far.
 
sorry for the DP but i just installed a VM on my mac with windows 7 and it works just fine on there. doesn't work on my main machine and other peoples win7 machine. *shrug*
 

Magni

Member
I signed up for this year's Google Codejam, and was looking at old exercices to practice, using Ruby. My code works flawlessly if I call the method directly in irb. However, when I run it from the command line, I get wrong results (no errors or anything, just wrong results). Anyone know what's up?

Found it! When I was calling it from the command line, the strings the method was being called with weren't stripped of \n's.
 

cyborg009

Banned
Can anyone help me out with this?

Its suppose to take the info that the user inputted and save it as results.txt file.

Code:
public class Voting {
private String name;
private int age;
public Voting() {
	super();
	// TODO Auto-generated constructor stub
}
public Voting(String name, int age) {
	super();
	this.name = name;
	this.age = age;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	
	
	return age;
}
public void setAge(int age) {
	age = 2013 - age;
}

public String eligible(){
	if(age > 17){
		return "You are eligible to vote";
	}else{
		return "You are not eligible to vote.Sorry";
	}
}
@Override
public String toString() {
	return "Voting [name=" + name + ", age=" + age + ", eligible()="
			+ eligible() + "]";
}



}

Code:
public class votingDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		Scanner input = new Scanner(System.in);
		Voting myVoting = new Voting();
		
		PrintWriter outputFile = new PrintWriter("result.txt");
		
		System.out.println("Please enter your name");
		myVoting.setName(input.nextLine());
		System.out.println("Please enter the year you were born: ");
		myVoting.setAge(input.nextInt());
		
		outputFile.println(myVoting.toString());
		
		}
		
		
	}
 

cyborg009

Banned
Help you how? What does the code do? Does it not work? Do you get an error, or just the wrong output?

I do get but I'll have switch computers to get the exact one. The code is suppose to determine if your eligible to vote. You input your name and then your age. If your age is 18 or great your are eligible if not it will display that your not. The results will be displayed on a .txt file.

edit: fix the code a bit but the info is not being printed to the file.

edit again: fixed!
 

gogojira

Member
First time visit here and I hate to do this because the problem seems easy (starting to use arrays and this is an exercise in the book), but I really don't see what is wrong with my code here. This is a Java program where I am trying to display the max number in an array of 10 numbers. Here is what I have:

Code:
public class StoreMax {
	public static void main(String[] args) {
	
	     double[] myList = new double[10];
	     double max = myList[0];
	          for (int i = 1; i < myList.length; i++) {
		     if (myList[i] > max) max = myList[i];
		}
	     System.out.print("Max is " + max);
	}
}


Not to be a pain in the ass, but I actually have a few questions. I get the idea of it: the array is 10 digits and for every time i is less than myList.length (defined in line 4), it adds one. So, it should be 1 through 10.

Not going to lie, I still get a little confused when I see the myList part. What specifically is that referring to? The i established in the for section? So, when i > than max, it is updated as max?

Then to print the statement "Max is 10", my System.out.print always says "Max is 0.0" when grabbing the value for max.

Any clarity would help. This feels really simple but my brain is having issues grasping what is wrong!

Edit: Well that looks weird in my post. Let me try to find that magical code button.
 

usea

Member
First time visit here and I hate to do this because the problem seems easy (starting to use arrays and this is an exercise in the book), but I really don't see what is wrong with my code here. This is a Java program where I am trying to display the max number in an array of 10 numbers. Here is what I have:

Code:
public class StoreMax {
	public static void main(String[] args) {
	
	     double[] myList = new double[10];
	     double max = myList[0];
	          for (int i = 1; i < myList.length; i++) {
		     if (myList[i] > max) max = myList[i];
		}
	     System.out.print("Max is " + max);
	}
}


Not to be a pain in the ass, but I actually have a few questions. I get the idea of it: the array is 10 digits and for every time i is less than myList.length (defined in line 4), it adds one. So, it should be 1 through 10.

Not going to lie, I still get a little confused when I see the myList part. What specifically is that referring to? The i established in the for section? So, when i > than max, it is updated as max?

Then to print the statement "Max is 10", my System.out.print always says "Max is 0.0" when grabbing the value for max.

Any clarity would help. This feels really simple but my brain is having issues grasping what is wrong!

Edit: Well that looks weird in my post. Let me try to find that magical code button.

You're almost 100% correct about the code. The array myList is 10 digits, but the code never assigns any specific numbers to the list. So by default the entire list is zeros.

This code:
Code:
for (int i = 1; i < myList.length; i++) {
Says that the block that follows will be repeated 9 times and that the value if "i" will be the numbers 1 through 9, increasing each time. So it checks each element (except the last one) in myList and compares it against max. But since the whole list is zeros, it will never find a bigger number.

edit: fixed off-by-1 error I missed. Just read the responses below mine.
 
You're almost 100% correct about the code. The array myList is 10 digits, but the code never assigns any specific numbers to the list. So by default the entire list is zeros.

This code:
Code:
for (int i = 1; i < myList.length; i++) {
Says that the block that follows will be repeated 10 times (since myList.length is 10). And that the value if "i" will be the numbers 0 through 9, increasing each time. So it checks each element in myList and compares it against max. But since the whole list is zeros, it will never find a bigger number.

To understand these sort of things, try desk checking. That is, get a trusty piece of paper out and draw ten boxes for your array. Now draw another box for the max and a box for i.

In the i box, start with 0. You will notice when you fill out the max box (with myList[0]) there is nothing in your myList[0] box (the first box in your array). So you need to fill these values first.

double[] myList = {4, 6, 3.4, 2, 1, 1, 23, 2, 3, 23};

By that example, max will be 4 at the beginning.

From there, just follow your algorithm through and rub out and change the values each time.In the loop? "i" will be 1 and it will look at the second value in the array. In this case 6. Since max is previously 4, you will set the new max to 6 and so on.
 
I'm going to alter your code only slightly.

Code:
	          for (int index = 1; index < myList.length; index++) {
		     if (myList[index] > max) max = myList[index];
		}

I have replaced the variable i with the variable index.

When you access an array variable in the form x[y], x is the name of the array and y is the index of the element you wish to use. So in your loop, you are saying "if the element in myList at the specified index is greater than the max value, set the value value equal to the value of the element at the specified index.

So if you have an array containing the values { 0, 1, 2, 5, 10, 3, 5, 4, 8, 9 }, a loop over that array should produce the value 10 as the max value.

Note that by starting at index 1, you are skipping the first element of the array. Arrays are 0 based. This is not a problem for you, since you set the value of max to the first element (index 0) prior to entering the loop.
 

gogojira

Member
Thanks for the help, really appreciated. I don't have a lot of time at the moment but just wanted to stop in and say you guys rock. :)
 

caffeware

Banned
Is this working?

Code:
public void setAge(int age) {
	age = 2013 - age;
}

It should be:

Code:
public void setAge(int age) {
	[B]this.[/B]age = 2013 - age;
}
 

gogojira

Member
I'm going to alter your code only slightly.

Code:
	          for (int index = 1; index < myList.length; index++) {
		     if (myList[index] > max) max = myList[index];
		}

I have replaced the variable i with the variable index.

When you access an array variable in the form x[y], x is the name of the array and y is the index of the element you wish to use. So in your loop, you are saying "if the element in myList at the specified index is greater than the max value, set the value value equal to the value of the element at the specified index.

So if you have an array containing the values { 0, 1, 2, 5, 10, 3, 5, 4, 8, 9 }, a loop over that array should produce the value 10 as the max value.

Note that by starting at index 1, you are skipping the first element of the array. Arrays are 0 based. This is not a problem for you, since you set the value of max to the first element (index 0) prior to entering the loop.

Thanks again for the help everyone. The part in bold really cleared something up. So, by doing x[y] it's going back to the array and the value assigned to that number. If the array is 4 digits and it's 5, 4, 6, 2 then it will x[2] will be the one value to replace x[0].

Edit: Tested. Awesome. Works.
 

moka

Member
Thanks again for the help everyone. The part in bold really cleared something up. So, by doing x[y] it's going back to the array and the value assigned to that number. If the array is 4 digits and it's 5, 4, 6, 2 then it will x[2] will be the one value to replace x[0].

Edit: Tested. Awesome. Works.

It's good that you understand. Helping people with homework works if they could do it themselves again later on and fully understand what they're doing.
 

Slavik81

Member
Do people go back to school for a second Bachelor's degree if they want to transition to software development?

I'll be 23 in April and graduate in May with a BA in Accounting. My school (Michigan State) offers specializations that are similar to minors. Last year I realized I do not want to pursue a career as a CPA, so I added the IT specialization as a way to get something tech related on my degree. I'm starting to think that's not enough. The specialization allowed me to take a Python course, but that's the only real technical class I was exposed to. I really enjoyed it, though. My end goal is mobile software development, specifically iOS or Android.

I guess what I'm asking is should I go back to school for a Bachelors or Masters in CS? Does my undergrad being Accounting put me at a severe disadvantage trying to do my Masters in CS? Bootcamp type of programs are becoming popular, Develop Detroit (Devdet.com) is a three month iOS course that I would love to do but it says "some software dev experience" is required. I should just buckle down and get the degree, I just don't if it's worth it to go to school another four years after just putting in five -- especially since I doubt Accounting credits transfer to CS...

Sorry for being brief it just feels like there's so much I could write. I basically feel like I wasted a lot of time and money the last five years by getting a degree in a subject I care nothing about. Kind of depressing. I just wish some of what I've done over the last five years was applicable to a CS degree. I could go back two years, but four is extremely daunting.
For what it's worth, you can do quite well with a combination of programming skill and expertise in a field. It's rare that someone is both a programming expert and a domain expert.

That said, I don't know if you'll be successful at switching. I wouldn't want to be in your shoes, because I don't think there's any easy options... It's certainly not hopeless. Just tough.
 

moka

Member
For what it's worth, you can do quite well with a combination of programming skill and expertise in a field. It's rare that someone is both a programming expert and a domain expert.

That said, I don't know if you'll be successful at switching. I wouldn't want to be in your shoes, because I don't think there's any easy options... It's certainly not hopeless. Just tough.

A lot of start-ups and tech companies don't even look for a related degree if you're good at the job. Just write code and make it available on GitHub.
 

Slavik81

Member
A lot of start-ups and tech companies don't even look for a related degree if you're good at the job. Just write code and make it available on GitHub.

Skipping the formal education still leaves years of self-study and practice. Even if you do find companies that expect neither formal education nor professional experience, you need to demonstrate skill equivalent to candidates that do have those qualifications.

Writing code and developing openly on GitHub are great ideas. They're just not going to get him a job on their own. Not any time soon, at least.
 
Do people go back to school for a second Bachelor's degree if they want to transition to software development?

I'll be 23 in April and graduate in May with a BA in Accounting. My school (Michigan State) offers specializations that are similar to minors. Last year I realized I do not want to pursue a career as a CPA, so I added the IT specialization as a way to get something tech related on my degree. I'm starting to think that's not enough. The specialization allowed me to take a Python course, but that's the only real technical class I was exposed to. I really enjoyed it, though. My end goal is mobile software development, specifically iOS or Android.

I guess what I'm asking is should I go back to school for a Bachelors or Masters in CS? Does my undergrad being Accounting put me at a severe disadvantage trying to do my Masters in CS? Bootcamp type of programs are becoming popular, Develop Detroit (Devdet.com) is a three month iOS course that I would love to do but it says "some software dev experience" is required. I should just buckle down and get the degree, I just don't if it's worth it to go to school another four years after just putting in five -- especially since I doubt Accounting credits transfer to CS...

Sorry for being brief it just feels like there's so much I could write. I basically feel like I wasted a lot of time and money the last five years by getting a degree in a subject I care nothing about. Kind of depressing. I just wish some of what I've done over the last five years was applicable to a CS degree. I could go back two years, but four is extremely daunting.

well all i can tell you is my experience: I had some background in computers of course, worked as a DBASE programmer when i was 16~17. But it was a bad place and a bad time and I didn't hang around, went off to do other things. A couple of years later I went back to school and got a Bachelor of Arts in English Literature. I was offered a chance to do Honours but went back to doing what I'd been doing, which was playing in bands. Then at some point I started to get a bit bored of the club-gig-party lifestyle I was living and got bit by the programming bug again. I taught myself two languages I'd never learnt when I was younger, C and C++, and dabbled for a while before deciding maybe I should do more with it. So I went back to English Lit. and finished my honours year, and on the basis of that I got immediately accepted into a two-year CS Masters at a different University (better CS department), of which I'm about halfway through. If you think you're a competent programmer, just go for it. Don't regret the past, you'll meet heaps of people who know nothing but CS. Having a background in english/linguistics actually helped me get a summer project over all the other "regular" people that applied, and that project looks like it might lead to outside work, as well as to contributing to a body of tools for research.

So it totally can be done, especially if you're keen about it. I know I love programming so that side of it is not a challenge for me. It's not so much about where unit credits can be applied (at least for me it isn't) but how the knowledge I have from all the things I've studied over the years, from music to literature to logic to linguistics, have all played a part in shaping who I am as a programmer. Even since I just started the degree I've been getting job offers through friends, most of which I have to turn down because I have assignments to do!
that, and web programming horrifies me ;)
 

moka

Member
Skipping the formal education still leaves years of self-study and practice. Even if you do find companies that expect neither formal education nor professional experience, you need to demonstrate skill equivalent to candidates that do have those qualifications.

Writing code and developing openly on GitHub are great ideas. They're just not going to get him a job on their own. Not any time soon, at least.

Yeah, you're probably right but if he can write some really good software, he's already leaps and bounds ahead of a lot of the university-graduates.
 
A lot of start-ups and tech companies don't even look for a related degree if you're good at the job. Just write code and make it available on GitHub.

This is something that bothers me, when people say "well you don't need a degree" as it trivializes the amount of work a person does when getting a CS or related degree. Yes, you don't need a degree, but you still need years of experience and aptitude for the field. A lot of people I've met who are working as programmers that don't have a degree were programming from a really young age. These people were already very experienced by the time they graduated from high school. If you are telling a person who is a complete beginner at age 23, that the only thing they need is code on GitHub, you are forgetting that it will take them years until they can actually have something interesting to put there.

I've yet to meet anyone who has gotten a good programming job without a CS degree, and no previous programming experience.
 

moka

Member
This is something that bothers me, when people say "well you don't need a degree" as it trivializes the amount of work a person does when getting a CS or related degree. Yes, you don't need a degree, but you still need years of experience and aptitude for the field. A lot of people I've met who are working as programmers that don't have a degree were programming from a really young age. These people were already very experienced by the time they graduated from high school. If you are telling a person who is a complete beginner at age 23, that the only thing they need is code on GitHub, you are forgetting that it will take them years until they can actually have something interesting to put there.

I've yet to meet anyone who has gotten a good programming job without a CS degree, and no previous programming experience.

What I meant was that if you can write good code and show it off on GitHub, then why not? Obviously it's up to the employer to decide whether you're a good programmer or not and of course, you still have the interview or two but you can tell a lot about someone by the code they write or maybe what they blog about. Having a good blog about what you're working on could be a good idea.
 

iapetus

Scary Euro Man
This is something that bothers me, when people say "well you don't need a degree" as it trivializes the amount of work a person does when getting a CS or related degree. Yes, you don't need a degree, but you still need years of experience and aptitude for the field. A lot of people I've met who are working as programmers that don't have a degree were programming from a really young age. These people were already very experienced by the time they graduated from high school. If you are telling a person who is a complete beginner at age 23, that the only thing they need is code on GitHub, you are forgetting that it will take them years until they can actually have something interesting to put there.

I've yet to meet anyone who has gotten a good programming job without a CS degree, and no previous programming experience.

With no CS degree and no previous programming experience? No. Fairly quickly from that point? Yes, normally getting into a company through a role that's not heavy on the coding (test is favourite) and then doing every coding task they can invent and/or lay their hands on.

As always, it's all about how motivated you are and how much you genuinely love the work you're doing. You can power through a similar amount of work to a full CS degree in a matter of months if you're genuinely interested. If you have an aptitude for it - and you're willing to learn - you can be producing useful code quite quickly.
 

tokkun

Member
What I meant was that if you can write good code and show it off on GitHub, then why not? Obviously it's up to the employer to decide whether you're a good programmer or not and of course, you still have the interview or two but you can tell a lot about someone by the code they write or maybe what they blog about. Having a good blog about what you're working on could be a good idea.

I think this sort of approach really only works if you're applying to a position that has few other applicants or you have an inside contact at the company you're applying to who will help your application make it past the initial phase of review.

The problem you will run into is that for competitive positions, there will be several rounds of culling of applications, and the first round is usually based on information that can be scanned quickly - the education and experience listed on your CV. The people in the hiring process usually will not want to read through a code repository or blog in the first round because it simply requires too much of a time investment.
 
Top Bottom