LCT retrospective

Prague Castle

Last month I attended the annual meeting of my study program. This year, the meeting was held at Charles University in the beautiful capitol city of the Czech Republic, Prague. Since I have already graduated, this was probably the last LCT meeting that I will attend (although who knows!). As usual, it was an absolute blast.

As the graduating class, we participated in a small, but very formal, graduation ceremony. I already have the two diplomas from the two universities, so this ceremony was just something extra. We did receive a supplementary LCT document with a pretty nice description of the program and its requirements. I imagine this is something I could submit to anyone asking for more details about LCT, but I doubt that I will need to submit it anywhere ever, since it’s not an official diploma or transcript of records. Nevertheless, I enjoyed the ceremony, because the format was close to that of American graduation ceremonies– that is, it was very formal. There were speeches by professors and a student, there was organ music and singing, and it was held in a beautiful old hall in the Charles University in Prague. 

Insignia of the Charles University in Prague.

It was liberating being one of the graduating class. For one, I didn’t have to worry too much about making it to any particular talk or event, so I was able to sleep in! But also, I found that I did get a new perspective on the LCT program by coming for the third year.  Having graduated a while ago means that my life has moved away from all of the discussions on lectures, studying, advisers, etc. Hearing all of that talk again, reminded me how urgent it all felt at the time. Looking back made me realize how much and how quickly my life had changed– for better or worse. Either way, despite being a graduate, I still felt welcome. I met other graduates there, who were moving through similar experiences as I was now. So even though I am not in the university mindset anymore, I can still feel like I am part of this larger community.

The LCT students are incredible– not just the ones from my year or my universities–but from all the years and universities. Just about each person in the program is driven, open, and interesting in their own way. As ever, there are people who like to work, there are people who prefer to party, there are some who work hard/play hard, and there are some who chill. Nearly no one comes from the same country or the same background, which is probably the best part. As an alum at the meeting, I felt like I got to look back at the program and see it with many eyes and many points of view.

Now that I am in the workforce, I can see that having had the time to explore and meet new people was the biggest advantage I gained from LCT. I feel I learned how to be part of a community and how to go out there and find answers and guidance for myself when I needed it. Now, I have a stable career that I feel will propel me forward, but I don’t have as much time to explore new things. Still, I have to keep learning, which means I have to do the learning on my own time.

I have to keep learning… a LOT. Because what I learned in the LCT program wasn’t enough preparation for the professional world. I now have to introduce myself to a whole host of frameworks, design paradigms, algorithms, technologies, work methodologies, and attitudes that I have never had to face before. During my coursework, I spent little time on hands-on practice with modern tools. Not only that, but since I am further missing the computer science background and the web development experience that many programmers have these days, I have to learn all of those things afresh as well, in order to compete with/work alongside these people in the workforce.

To give some concrete examples, in just the last couple weeks I was struggling with CUDA drivers installation (for the billionth time), Docker, REST APIs, python’s Flask web framework, the OpenNMT-tf framework for machine translation (I already struggled with Marian, Sockeye, and OpenNMT-lua a while back), making a presentation on some recent research (i.e. reading papers and dissecting math) on a specific topic in machine translation, and a bunch of code refactoring. That’s just in the last couple weeks.

Prague Astronomical Clock

It sounds exciting, but actually, it’s very stressful to have to learn everything at once. I wish we had had some more practical courses in my master’s that would have taught us some of these theoretical ideas by using real tools (e.g. scipy, tensorflow, matplotlib), provided assignments in standardized formats (e.g. APIs to query or Docker containers to run) just so that we could get a little bit more used to those tools, if not completely comfortable with them.

I suppose one could ask how is it that professors could possibly keep up with all of the tools coming out all the time, to be able to teach us that? I would respond: how are we managing it then with much less experience? Because we, the students, do eventually manage it all on our own somehow– you just do what you gotta do– but it’s lack of guidance from our mentors in this area that easily leads to unnecessary stress and a steep learning curve. Another response might be “you have to learn how teach yourself.” Of course that is true, but learning how to teach yourself and having guidance in your studies are not mutually exclusive. At my unis, it wasn’t just like this with practical topics. It was like this with many things, much of the time. I won’t say “all the time” because there were a few gem classes/professors, but much of the time, the students got together and taught each other things they had learned 5 minutes ago. This is why the LCT program was so invaluable– it was full of students ready, willing, and able to do this, and to make a party out of it.

In the end, doing the LCT program was the right decision for me, because even though I feel the education was probably of lower quality than what you’d get at a top (in my field) US public university, I gained many soft skills and many many worthwhile experiences. If I could go back, I would definitely do it again, but only after studying a bit more on my own in the prerequisites/background topics first. In short, I would teach myself 75% of what I need to know on my own in terms of skills and theory, and then come to LCT for the last little bit on research. Things would be calmer then, and I think I could get even more out of the LCT program this way. I wonder, is it like this with all the Erasmus Mundus programs or all unis in Europe? Professors themselves seem to bounce around a lot, so is it just luck based on what professors are there the year you happen to go?

The LCT meeting was a great opportunity to look back and process everything that has happened in the last 2+ years. But now that I’ve spent some time looking back, it’s time to start looking forward. As usual, I don’t know what comes next. I have a lot of vague ideas and few concrete plans. Visiting Prague was really nice, because it reminded me that even though I don’t like big cities that much, there might be bigger cities out there that could still fit me– unlike Berlin, which is really a mismatch for my preferences, I think. In the long term, I know Berlin is not the right place for me. In some ways, it might make sense to move back home to the US. I think the salaries are still quite a bit higher there for programmers, and it would be nice to be closer to family. Eventually, I definitely want to do that… but I’m not quite ready to stop traipsing across the world just yet!

View from Prague Castle
Advertisements

The NLP Job Hunt

IMG_20181118_172136

Castelvecchio in Verona

Around a week after graduation, I sent off a very small handful of applications to a few different companies in computational linguistics. I didn’t spend much time thinking about the whole thing, because shortly thereafter, I left to attend EMNLP (a big comp ling conference that was held in Brussels). After that I headed to Paris to meet some friends, then returned to Trentino to hike a bit more in the Brenta Dolomites, and then went to Berlin. Below I’ll describe my experience and advice I’ve gotten for applying to both smaller companies, and big companies, interspersed with images of my recent travels for fun.

Searching for jobs

First of all, it was pretty easy to find jobs that looked appealing or related to my studies in smaller companies. One nice source was nlppeople, who had the most relevant openings. Other sources like linguistlist and corporalist also seem useful, and then there are the typical postings on LinkedIn or Indeed that seem to target typical software engineers a little more. Another couple of places I found later on, but didn’t explore were remoteok.io and remoteml, so I wonder if those are actually useful (anyone have any experience with them?).

On the other hand, finding jobs for the big companies like Amazon, Google, Facebook, Microsoft, Apple, etc. entails going onto those guys’ websites and doing a search. The correct job opening tends to be called something like “Applied Scientist” or “Research Scientist” and has some description of the field you’d be working in or the project you’d be working on. It’s not always clear what exactly you’d be doing, and it’s easier to get an interview there if you have an acquaintance that can push your resume through to the right recruiters.

In any case, finding interesting jobs and actually getting an interesting job are different beasts.

Small company interviews

Interviews for normal companies (and start-ups) seem to consist of the following stages:

  1. introductory phone screen conversation
  2. technical interview
  3. coding project
  4. follow-up interview and/or final interview

My (limited) experience with these has been pretty positive. The introductory phone screen has typically talked about the company’s work and business model, and has asked about your own background and cultural fit. The technical interview asks machine learning and computer science questions, with a skew towards the position you’d be working in. The coding project has typically focused on a task relevant to what the company is working on. The follow-up interview might ask a few more questions about your knowledge, to see how you are stacked up against other candidates. The final interview will already talk about logistics such as salary, start times, moving, and so on.

This interview process is not easy, but it also does seem very reasonable. The questions I saw were typically to the point, and not outside the bounds of what I should be expected to know about after completing my degree, and planning to move into industry. In terms of time frames, the small companies were pretty quick on getting back to me, usually taking only one or two weeks after receiving my resume to respond, and just a few days in between each step thereafter.

It’s possible I got lucky with the small companies I interviewed for, because I heard that other people had strange interviews, where the small companies were trying to replicate the interview process of the big companies, which I believe would be a mistake.

Big company interviews

Interviews for big companies (Amazon, Google, etc.) are very different. The best way to describe it is as a massive comp sci entrance exam. Everyone takes these entrance exams, and typically, after passing, you get further interviews with the specific group you would be working with. The process seems to consist of the following stages (though I admit that I myself did not complete the whole process, so I’m not sure about the end):

  1. phone screen with behavioural, basic comp sci, and basic machine learning questions
  2. phone technical interview
  3. on site all day technical interviews with whiteboard coding (and sometimes presentation of own work)
  4. follow-up interviews with teams of choice
  5. final interviews with logistics

I won’t sugar coat this. If you are taking the big company entrance exams, you need to have a computer science degree and remember a good chunk of what you learned, or you need to (re-)teach yourself computer science fundamentals. This is really shitty for us who are coming from a theoretical linguistics background and the LCT program, which does not cover these fundamentals (although I think they really should offer them to those who don’t have them). Below I’ve assembled all the advice I’ve received from various sources on what to study before making applications to the big companies. Some companies may ask for less of the computer science stuff, and more stuff related to your degree, but it’s better to over-prepare than under-prepare.

PANO_20181117_125824.vr_2

Hiking trail in the Brenta Dolomites

Behavioural questions

First of all, some of the companies ask you behavioural questions, like “Have you ever had a conflict with a coworker?” or “Have you ever failed to meet a deadline?” or “What are your weaknesses?” For me, I kind of handle these questions on the spot. I feel that the best way to deal with them is to say “Hmm, let me think about that…” and then start thinking about working conditions at your previous job/internship/whatever. Usually, something relevant pops to mind.

Some people might find it easier to research the most common behavioural questions, and take time to think of a scenario for the most common ones. There is also a formula that can be followed which leads to a succinct answer to these types of questions, called STAR. These methods might be the more principled way to attack behavioural questions.

In any case, I feel like these questions are sort of bullshit, and I find it easier to bullshit my way through them, because that also leads to a more natural way of talking about the problem for me. I also have a lot of prior work experience, so it’s not that hard for me to conjure up some scenarios. I don’t think I’ve ever flat out failed this section, but I’ve also never applied for leadership positions where this section is probably a lot more heavily weighted.

IMG_20181031_211452

Brussels Town Hall

Topics to cover

For the computer science entrance exams at the big companies, you can use leetcode.com, topcoder.com and projecteuler.net to practice, and read the well-known book Cracking the Coding Interview as well (behaviour quesitons are in there too). In short, you will need to know:

  • algorithm complexity (big-O notation for runtime and memory)
  • sorting: n*log(n) complexity algorithms such as quicksort and merge sort
  • hashtables: how they work and how to implement one in code using only arrays
  • trees: how to construct and manipulate binary trees, n-ary trees, tries, red/black trees (and/or splay trees, and AVL trees); how to traverse trees using breadth-first search and depth-first search; the difference between inorder, postorder, and preorder
  • graphs: objects, pointers, matrix, and adjacency list representations of graphs; how to traverse them using breadth-first search and depth-first search; their complexity, tradeoffs, and implementation in code
  • other algorithms: Dijkstra and A*
  • NP-complete: what this means, and problems such as the traveling salesman, and the knapsack problem
  • combinatorics: n-choose-k
  • probability: bayes, likelihood, prior, posterior
  • statistics: significance testing, distributions such as Gaussian and Poisson
  • concurrency: processes, scheduling, locks, mutexes, semaphores, monitors, avoiding deadlock and livelock and how to avoid them, parallelization on multi-core systems
  • object oriented system design: features sets, interfaces, class hierarchies, constraints, simplicity and robustness, tradeoffs
  • development practices: validating designs, testing whiteboard code, preventing bugs, code maintainability and readability, refactor/review sample code

In addition to computer science, you will need to know machine learning. If you only took one course on it during your LCT program, you will probably need to study some things that you missed, including:

  • supervised/unsupervised/semi-supervised learning
  • generative vs. discriminative models
  • clustering
  • classification
  • regression
  • overfitting/underfitting
  • cross-validation
  • regularization
  • bias-variance tradeoff
  • ROC curves
  • train vs. dev vs. test data
  • ML algorithms: naive bayes, linear regression, logistic regression, decision trees, random forests, KNN, K-means, SVM, HMMs, Viterbi, GMMs
  • neural networks and their specific issues: feedforward DNNs, RNNs, LSTMs, vanishing/exploding gradient problem, attention, stochastic gradient descent, learning rate, mini-batches, etc.

You will want to be familiar with the issues in computational linguistics and your specific field, which will depend on what the company is doing and the job you are applying to. This part you might not have to study as much for, since it will depend on your interests and will probably be related to your studies. In any case, it could include topics such as:

  • language modeling, including smoothing
  • FSTs and regular expressions
  • word embeddings (and sentence embeddings)
  • common traditional and state-of-the-art algorithms in your chosen sub-field (e.g. for machine translation you should know SMT models and also Transformer NNs, for speech recognition you should know about HMM-GMMs and also TDNNs)
  • handling big data and data cleanup (e.g. text normalization for language data, detecting misaligned data for MT, disambiguating speech from noise in speech data)
  • other issues specific to language processing (e.g. different scripts, word orders, phonologies, etc.)

Finally, you will want to know some modern technologies for working with machine learning, neural networks, computational linguistics, and software engineering in general, such as, for example:

  • common sources of language data
  • common data formats (e.g. XML, SQL databases, etc.)
  • Python and packages like numpy, scipy, matplotlib, spacy, nltk
  • MATLAB
  • c and/or java could also be helpful if you know them
  • TensorFlow, Torch, Keras, deeplearning4j or similar for NNs
  • Kaldi for speech recognition
  • Git for version control
  • cloud computing
  • Docker
  • Linux and bash

There might be more topics that I missed, but that’s the gist of it I think. It seems like a lot, because… well, it is. It basically covers an undergraduate degree in computer science, a graduate degree in machine learning, and one or two courses in computational linguistics. You likely won’t need to know all of it for whatever job you’re applying to, but it’s not unrealistic to have questions asked from any of these topics. You may not know an answer to every question, and that might also be ok, but it’s good if you know the larger majority.

My feeling is that if you come from that comp sci background and studied comp ling, you will just have a little bit to brush up on, while if you came from theoretical linguistics and studied comp ling (at least in LCT), you will need to spend an extra semester (or more depending on how quickly you learn) to properly learn what you need to know.

At the big companies, I was told that I should apply in the topic I had the most experience in (speech recognition for me) rather than applying to other topics I might be interested in, because this is where I had the best chance of getting actually hired.

IMG_20181108_163852_2

The Eiffel Tower in autumn

Final thoughts

For me, I admit that I certainly don’t know all of the things I’ve listed above. First of all, since I don’t have a comp sci background, I never studied any of the comp sci topics in a structured way. Second, I feel that the LCT program did not have a curriculum that progressed in a logical order over the course of the entire two years, which would have supported me in learning what I needed to know. In essence, I had to restart my progress at my second uni, because my second uni didn’t really have a curriculum that allowed me to keep learning on the same track I was already on. In addition, many of the topics that I did cover during my studies were taught in a disorganized way, and/or a superficial manner, and/or in-depth but very quickly. Therefore, those items that I did cover of the topics above, I covered in a way that didn’t really solidify my understanding of them.

Having graduated, I no longer see an easy path and time-investment opportunities towards learning them. Yes, there are MOOCs, but my personal learning style really benefits from in-class instruction. I will probably have to keep studying in evening courses if I want to properly learn some of those computer science topics I’m missing. Otherwise, I have to hope that the next job I have provides me opportunities to fill in at least some of the gaps.

In any case, I am going to be very busy soon– I have accepted an offer at a start-up in Berlin.

IMG_20181123_164906

Hallo Berlin!

Graduation

IMG_20181020_150814_2.jpg

Castel Beseno in Trentino, one of the places I am going to miss.

As a student of two universities, plus the LCT program, I get to graduate three times if I so choose– once at each of the universities, and once at the LCT meeting (which I have to pay to to go myself once I become an alumnus of the two unis).

In practical terms, this means that you end up going through the majority of the formalities at your second university, and then at some point, some more documents come in from your other universities. Since my second uni was University of Trento, I got to go through the Italian graduation process first. Surprisingly, everything went very smoothly, and graduation day was actually pretty fun!

When we graduate from high school or from a bachelors in the US, we have a massive assembly, with the entire graduating class (hundreds of students). You wear your robes/hat, and you wait forever until your name is called, so that you can walk up there, accept your diploma, and shake hands with some important leaders of the university. I didn’t go to my bachelors graduation, because I didn’t want to wait in the southern California desert sun for 8 hours, while everyone’s name was called, and because the ceremony took place some months after I had actually finished my schoolwork (I finished in December and ceremonies are in June/July), so I was already living somewhere else.

In Italy, the ceremony is completely different. First of all, it takes places with only your department, so the graduating class will just be the students that you know. Second of all, for the masters, it actually takes place on the same day that you defend. This means everyone makes their defense presentations, then the commission goes to deliberate on everyone’s grades, and then you get called back into the room again to receive diplomas. They call out your name, your grade, and you walk up to shake hands with your professors. In this way, it’s much more personal, which I really appreciated.

For my defense, I was defending a thesis on speech recognition to a department more focused on cognitive neuroscience. That is, my commission and fellow students were not experts on speech recognition. I had to tailor my defense to be a little more general, to be able to keep non-specialists interested in the topic, and the defense was only supposed to be 15 minutes long. This was actually really hard to do, and I had to cut out a lot. I think a longer defense to experts in the field would have been easier to present. On the other hand, I think since they were not experts, they judged me a little easier than an expert might have. I received full marks and highest honours. It felt really nice to get such amazing recognition for my work, but I know there were some mistakes in my thesis, and I’m sure that the commission at Saarland will be stricter.

Our defenses were split into a morning session and an afternoon session. After our session was done, the commission spent a good chunk of time (30-45 minutes) deliberating on our grades. Then we all got called back in with our families, for handing out the diplomas. When the student’s name is called, the professor says his normal spiel in Italian, and calls out the student’s grade, right there in front of everybody. It was something like, “with the power vested in me by the university, etc. etc., I award [the student] the master of cognitive science, with a grade of [the grade].”

This makes me wonder what happens if the student is going to fail the defense. But I get the feeling that this doesn’t happen. That is, once you are invited to the defense, it is almost certain that you will pass. At our department in Trento, they didn’t suggest for corrections to be made either, and I don’t know if this is typical or not.

IMG_20181009_170137

Handmade wreath of laurels.

Once this is done, the fun starts! We all got together in the garden in back, with champagne, sweets, confetti launchers, and actual “confetti” candies. These are little round candies given out in Italy for special events, and they are colour coded. For example, red ones are for graduation, white ones are for weddings. Each of the graduates was handed a wreath of laurels to wear on their head. (I think the colour of the ribbons in the leaves is supposed to be significant, but ours were just different colours for fun.) The ones we got were actual laurel leaves, created by our friends in the department, which was so nice and thoughtful of them! Our friends also put up compromising pictures of us throughout the halls, which was quite funny to see.

Then, the other students, the parents, and even the professors, sing a graduation song for you. This song is actually obscene, which is so funny… even funnier when it comes from professors! I don’t want to write the Italian version, because I think writing down Italian curse words might be frowned upon, so I will let you google the “dottore dottore” song.

Once the party begins, it doesn’t end. At least not in our department. Our students organized a massive alcohol-fest that night. I’m not a big drinker, so I only stayed a short while, but I expect it was going on until the wee hours. There, I saw another Italian tradition– a typical graduation drinking game. In this game, friends of the graduate write a big scroll about the graduate’s life with lots of rhymes and tongue twisters, and then the graduate has to read it correctly. Every time they mess up, they take a drink. People continued to sing the “dottore dottore” song throughout the night, as well.

I think the whole point of all of these festivities is to counteract the seriousness of the event. You just went through this grueling effort, and you are graduating as an official master’s degree holder… congratulations to you, but don’t let it go to your head, you’re are just the same as all the rest of us!

So that’s Italian graduation for you. I don’t know how German graduation goes, since I am (predictably) still waiting for my grades from Saarland. It turns out that the main person in charge of this aspect of bureaucracy is on sick leave right now, and since there’s no redundancy in the bureaucratic system there, we are probably going to have to wait until he gets better before getting our grades transferred and our diplomas in the mail. At some point next year, I hope to also be able to attend my final LCT meeting to see all the students from the previous year, and to graduate once again, from LCT (if they do a graduation for us, which I don’t know if they will).

IMG_20181020_153712_3.jpg

Castel Beseno in Trentino.

 

Weeks 93 through 97

IMG_20180708_141527

View of the castle in Malcesine.

The last month has been a whirlwind of work! I somehow managed to submit nearly everything that was due. I never quite wrote the outline for the thesis for my UniTN adviser. Instead, I sort of started rolling all the reports I had written into a preliminary thesis outline, and then worked on fleshing parts out while my models were running. It’s still not entirely clear to me how much detail I should go into on certain aspects of the thesis, so I am just writing what I can in the meanwhile, and hopefully, I’ll manage to flesh it out better once my results are in.

Unfortunately, I’ve hit some snags in my code (i.e. nothing runs!), so I haven’t been able to get the type of results I’m looking for (i.e. any results!). I still have results from the internship portion of my work at FBK, but they aren’t well organized or complete. I think because of how long it takes to train models on our hardware, I’m going to have to sacrifice having an interesting and novel work to present, since I have to finish running all the baselines and the different data combinations. Basically, I won’t have any time to play around with two thirds of the things I would have liked to play around with, and that’s just sad. I guess I could theoretically extend my thesis until December, but I really would prefer to graduate in October.

I don’t want to drag this out, partly because I am looking forward to moving elsewhere. It has been a good learning experience to live here, but in the end, there are certain aspects of life here that I find incredibly exhausting. Bureaucracy is, of course, the main thing. It’s possible that I would become accustomed to it over time, and there are certainly aspects of life here that are wonderful, so I’m not totally against staying, but in any case, I would want to move out of Rovereto, which is simply too difficult to travel to/from.

IMG_20180628_225742.jpg

Light show on a building in Nancy.

The LCT meeting happened last month in Nancy, and just like last year, it was an absolute blast to meet so many awesome people. Nancy was practically impossible to get to from Rovereto, so I actually traveled back to Saarbrücken for the week. I met with my University of Saarland adviser there, to present to him the proposal for my master’s thesis. I had a lot of slides prepared on the math and the models and such, but, of course, he is an expert in my field, and so for those, he just said “skip it.” I was happy to hear that, because I didn’t want to talk about it anyway! Overall, I think the meeting went pretty well, because I was able to anticipate most of the questions that came up, and he did have some good advice for me as well. Apart from that, I got to see a bunch of folks from last year, which was of course the best part.

After that, I headed to Nancy for the LCT meeting. Although Nancy was nice, it didn’t compare to last year’s destination of Malta, of course. Also, unfortunately, we couldn’t all have a nice dinner together either, due to some organizational issues. But we still managed to hang out a lot. The city had a nice vibe, with plenty of buildings decorated in the art nouveau fashion. There was a river that we hung out at one of the evenings. They also had this awesome light show at around 11pm on the buildings in the main square. Actually, it was probably the coolest light show of this type that I’ve seen.

In any case, this year, the meeting was shorter. As a second year, I had to present a poster on my internship/thesis work. It wasn’t that great, because I don’t really have good results or conclusions to make from my thesis work, but it was still a good experience. I had to present the same poster at a mini-conference at work the next week, so I was happy to have the whole thing down pat by then. There was one pretty good invited speaker, and the others, I don’t know, because this time around, I had the good sense to sleep instead. However, I still got pretty sick at the end of the week. I guess travel, and late nights will do that for you. The worst part was that one of the days I was walking home, late at night, like around 2am, and suddenly, from a window above me, someone threw water, and it hit me. I got splashed with dirty who-knows-what water, out of a French window– just like in the movies, but in a bad way! Anyways, I spent the next week coughing and sneezing, but luckily got better in time to enjoy the next few weeks of summer.

IMG_20180709_133416

View of the Dolomites from Kolbenstein, a small town above Bolzano.

So then, apart from work, I’ve had a nice summer, full of aerial silks performances, and friends visiting. More friends are scheduled to visit soon, and I’m very much looking forward to that. The only trouble is that I haven’t had much time to travel to the places I would like to travel to, since every time friends visit, we go to the same big touristy places that they haven’t seen yet. Maybe it will be possible for me and my husband to plan something over a couple of weekends in the next month, but time is wearing thin to make plans; the rest of Italy is going on vacation in July and August, and things are basically getting booked out. In any case, I will be very busy with work, besides. So I’m not really optimistic about getting to see much more of Italy this summer, I’m afraid.

ducks01

Ducklings in Lago di Garda, at Malcesine.

Nevertheless, I’ve very much enjoyed spending time with friends! Last weekend, we went to Malcesine on Lago di Garda. The weather was lovely, so we walked around the town, and then rented some stand-up paddle boards. I managed to get on my feet on the thing a couple of times, but I found that controlling it, and especially, having any power to move against the wind and the waves, was pretty difficult while standing. I was able to move easily while standing on my knees though, and it still felt great to just be on the water. It reminded me of the times I used to go to the Columbia River Gorge near Portland, Oregon. If I have a free day again this summer, I just might come back here.

IMG_20180708_124143_2

Little birds (swallows?) were swooping all around the castle in Malcesine.

Costs:

  • €225 – rent
  • €55 – internet
  • €85 – phone (for 2 months)
  • €320 – travel (including some tickets and food)
  • €260 – clothes (including new sandals)
  • €60 – medical expenses, including routine blood check for hypothyroidism levels
  • €8 – video games
  • Total: €1,013

Weeks 84 through 93

butterflies01

How long has it been since I’ve posted one of these types of updates? There’s been a lot going on. Spring and summer, for one! Everything is green and beautiful now, and there are flowers everywhere, although it has also been raining a lot. I wish I had more time to enjoy this season, but things have been more than a little busy. A massive family vacation took a chunk of time, but was, of course, very worth it. Then, as soon as I got back, I learned that I had many deadlines, and all of them were due around the same time:

  • a poster presentation for the LCT meeting
  • a master’s thesis proposal for the “master seminar” course at Uni Saarland
  • a presentation on the thesis proposal for my adviser at Saarland
  • a report of the work done at my internship plus a ton of documents for Uni Trento
  • a master’s thesis outline for my adviser at Trento
  • edits on a paper for a conference that my group at FBK wants to submit to

This all, by the way, in addition to normal work, which should theoretically continue as usual. In practice I had been focusing almost exclusively on the reports and presentations, and very little on actual work, which is a problem because I really  need to make progress on my master’s thesis research if I want to actually be able to write the thesis.

Speaking of the thesis, I had a bit of a heart attack last month, when I found out from a friend, who found out from a friend, that I had to fill out a “Title Registration” form for University of Trento. This was a simple form with some basic information, but we needed the signature of our thesis adviser on it. The problem is that my intended adviser was gone at a conference that week. He had told me he would be hard to reach, and he had warned me ahead of time to check deadlines and get signatures from him. I had checked the deadlines I knew to check, but not this one, because this was a situation of “I don’t know what I don’t know.” I got lucky and was able to contact my adviser after all, but I if my friend hadn’t told me about this requirement, I would have gotten all the way to September, and wondered why I couldn’t graduate on time for no apparent reason.

It’s hard being a foreign student, but I get the feeling that this is a difficulty even local students have to deal with. No one sends any emails about these deadlines. We have coordinators here at UniTN who should theoretically be involved with us, but they don’t seem to care that much about us. They don’t know our detailed situation, they forget some basic details about us as well, and they seem more concerned with their own work than anything else. It doesn’t feel like there’s anyone who is actually there for the students, in particular the LCT students, who are on the outskirts of the program at UniTN.

I’m also a bit upset because now that summer is here, my aerial classes have been cut down to just once a week, so I need to find an alternate form of exercise to avoid losing too much muscle. I’ve worked too hard so far to let myself atrophy.

On the plus side, the weather has warmed up, and we managed to get three hikes in, all with beautiful wildflowers, breathtaking views, and lovely company. These have certainly been the highlight of the season.

PANO_20180609_161906

Costs:

Ok so I’m going to cheat, and lump everything into one big pool over the last few months. I’m sorry I fell behind keeping track of this here by month.

  • 705 – rent
  • 165 – internet
  • 100 – phone
  • 600 – travel
  • 300 – dining (also during travel)
  • 300 – groceries
  • 160 – sports
  • 40 – fixing glasses
  • 120 – clothes (for hiking)
  • Total: 2,490

 

Officialization 11: Thesis Registration

IMG_20180609_134848_1.jpg

Officialization TOC

  1. Officialization 1: WTF comes next in Italy?
  2. Officialization 2: Apartment
  3. Officialization 3: Internet
  4. Officialization 4: Stay Permit, part I
  5. Officialization 5: Picking Courses
  6. Officialization 6: Stay Permit, part II
  7. Officialization 7: TV Tax
  8. Officialization 8: Stay Permit, part III
  9. Officialization 9: Residenzia
  10. Officialization 10: Health Insurance
  11. Officialization 11: Thesis Registration <– You are here
  12. Officialization 12: Stay Permit, part IV
  13. Officialization 13: Going to the doctors
  14. Officialization 14: Getting a travel pass

Spring and summer means master’s thesis work. As part of the LCT program you have three sets of requirements that you have to fulfill for your master’s thesis. The information is hard to locate on the websites, and often, you don’t end up receiving it at all. So far I’ve managed to get lucky somehow, and I haven’t missed any major deadlines– as far as I know. I really hope I haven’t fucked something up already, because I honestly can’t be sure (and if someone seems mistakes here, please let me know). The deadlines for the three programs that I have understood are as follows:

UniTN

The deadlines for UniTN are fairly strict, and you can only delay things with the help of local supervisors. See also deadlines for 2018, and the download box on the upper right hand side (click on the folder icon to get more files and instructions). You will need to use the Esse3 online student platform for some of these steps, and a different website for other parts of it.

  • 10 days before graduation (but started much earlier):
    • Completion of internship (see below)
  • 4 months before graduation:
    • Thesis title declaration in Esse3 questionnaire including:
      • Uploading this form signed by your UniTN adviser
  • 1 month before graduation:
    • Master’s defense application in Esse3–>Home–>Title obtainment, including:
      • “AlmaLaurea” questionnaire
      • Other questionnaires (all show up on Esse3 after you do AlmaLaurea)
      • Uploading this form, which must be signed by your UniTN adviser
      • Paying 72 euro through Banca Popolare di Sondrio (print out the invoice slip from Esse3, and go to the bank with cash)
    • Request for students expecting to graduate (Richiesta di Attesa di laurea) from a different website
  • 1 week before graduation:
  • Graduation:
    • The graduation is also the date of your defense, so you defend and then you should immediately find out your grade

UniTN internship (15 credits):

There are no strict deadlines for starting the internship, but it must be completed at least 10 days before graduation. If you want to graduate on time, start it as early as possible in your second semester (or even your first). After you officially finish the internship, there are no strict deadlines for when to turn in the report and paperwork either, just as long as it’s before 10 days prior to graduation. It’s important to save all documents as pdfs, because you will need to print and sign them, even if there’s no space for a signature.

Don’t be shy in contacting jobguidance@unitn.it with all your questions, because the websites are confusing, but the office is very helpful and they answer quickly. Just email them and ask them to confirm everything.

To start the internship (see also here and here):

  • The company needs to contact JobGuidance on your behalf and submit some forms to them.
  • Your UniTN adviser needs to contact JobGuidance to approve your internship.
  • You print out a copy of the agreement from the Esse3 (online student platform), which must be signed by you, your company supervisor, and your uni adviser.
  • The form needs be submitted to the office of Job Guidance, which is at Via Verdi 6, Trento (the red building behind the building with the language classes).

To end the internship:

  • Your evaluation of the company. Make sure to save as pdf before you leave the webpage.
  • The company supervisor’s evaluation of you, signed by them (even though there’s no place for a signature). Make sure s/he saves it as a pdf before leaving the webpage.
  • Certificato parte prima, which includes the timesheet, available in the online Esse3 platform, signed by the company supervisor and you
  • Report up to your uni adviser’s specifications (probably 2-3 pages in length), so that he can give you a grade (I think it’s pass/ no pass) in Esse3
  • Certificato parte due, which is sent to you from Job Guidance, signed by your university adviser

UdS

The deadlines for UdS are very strict, and you risk missing your graduation deadline if you don’t follow them, so make a note of the dates. See also this official rules document and these annotations for LCT.

  • Some time before graduation:
    • Master seminar registration in the Hispos/LSF student website, located under:
      • Administration of Exams -> Apply for exams -> Master International Language Science + Techn. 20081 -> 1010 Gesamtkonto Language Science and Technology -> 1020 Master module -> 10062 Master seminar – Seminar
  • 3 months before graduation:
    • Master seminar proposal submission. (You used to be able to do it 6 weeks before thesis submission, but this is no longer true; now it’s 3 months, and it must be done before or concurrently with thesis registration.)
    • Thesis registration. This is a physical form that you have to turn in to the exam office, but LCT students have the possibility to email it; however, you have to email the examinations office, asking for the form well in advance, since the exam office is very bad at email. (Or try this link, but it may go down.)
    • If your thesis adviser is in Dr. Klakow’s group, then a presentation on your proposal before you turn in the proposal paper.
  • Before the final date of the semester:
    • Apply for any courses you wish would remain ungraded (email the registration office for this form).
    • Submit 4 physical copies of the bound thesis. (At press time, LCT students can mail the physical copies to the address below.)
  • Within 6 weeks of the thesis submission:
    • Colloquium presentation (can be the defense at your other uni, if your profs are ok to Skype into it)

UdS Examination contact information (as of Sept. 2018):

Ursula Kröner
Examination Office (Tel +49/681/302-43 44)
Campus building C 7.2, Room 1.10
Saarland University
Computational Linguistics
66123 Saarbrücken
Germany

exam-office@coli.uni-saarland.de

LCT program:

In addition to all the credits from the correct categories, you have to present a poster at the LCT conference in the second half of your second year. It can be on your thesis, or on some internship work, or even on a proposal for your thesis, but it is mandatory.

Officialization 5: Picking Courses

rivadelgarda04

Along Lago di Garda.

Officialization TOC

Picking Courses

This is the part I hate most. Picking courses. It’s a delicate balancing act between fulfilling requirements, taking what you’re honestly interested in, and avoiding bad professors.

At the start of the semester, you are excited and keen to learn all the wonderful new topics that are on the roster. By the end of the first week, you’ve realized that half those topics are either lead by professors who don’t know how to explain anything, or the class conflicts with another requirement, or you just don’t have the background to tackle the course load.

This time around I also have to consider travel times between campuses. The CIMeC department, which I am officially part of, is in Rovereto, which is also where I managed to find a place to live back when I was rapidly searching for apartments. I knew I should have spent a little more time looking in Trento, but the place I found in Rovereto was really nice, and (mostly) affordable, so I was lured in.

Now I am beginning to regret that decision. The travel time to Povo, the place where the computer science campus is located, takes between 1 and 1.5 hours depending on the time (and some hours, there is no train). Until I got my “free circulation” pass, it also cost around 8 Euros daily. Italian language classes will take place at the humanities campus near the train station in Trento, as well. This means that there’s a lot of travel in my future, if I intend to stay in Rovereto. (I might consider moving once I get things figured out.)

In terms of course requirements, this year things are easier to decipher than last year, but no less daunting. I need:

  • 9 credits in anything (I did 6 extra credits last year and, luckily, they are carrying over into this year, so I don’t have to do the normal 15)
  • 15 credits for an internship
  • 30 credits for the master’s thesis itself

In terms of courses, I can take one course for exactly 9 credits, but the only 9 credit courses seem to be through CIMeC. Unfortunately, there’s nearly nothing for me at CIMeC. Everything there is cognitive science focused, with most classes not even having much to do with language. Cogsci is quite off target for what I want to focus on right now, even if it is not uninteresting. I am still not that strong in math and programming, and I really need to improve those skills if I want to work in computational linguistics.

The computer science department has a lot of interesting courses, on the other hand. So I spent all last week traveling an hour each way to Povo to sample as many of those as I could. As expected, most of them assume more background than I have, since I didn’t do my bachelor’s in comp sci, but I’m hoping that since I only need the 2 classes, I’ll be able to devote extra time to learning the things I need to know to manage that course. Specifically, my hope is to take machine learning, which is still relevant to what in doing, but it requires a lot of linear algebra, which I have never formally studied.  My second class will likely be a language technology class through CIMeC (the only relevant course in Rovereto for me). I’ve already learned most of the topics that the class will go over but it’s project based so hopefully I will still have the chance to do something interesting. The teacher said that the class may also lead to an internship, presumably if you do well. Hopefully I can find something else before then, but if not, maybe this will pay off.

In terms of the internship, it isn’t what we think of when we say internship. It’s actually a project with a report, probably cognitive science related, probably unpaid (unless you get lucky), and it is also meant to lead into your master’s thesis. This latter point is particularly problematic because the internship is meant to be done in your second semester, after you take your course requirements for the year. So if you are doing your internship in the second semester, when, then, are you supposed to actually do your thesis? Yeeeaaa.

So in general, the this doesn’t sound very promising; however, you are allowed to find your own internship, outside the department. So I spent some time a couple weeks ago applying to various external internships, focusing on the kind that are paid and which I could start a little sooner. I actually ended up getting an interview with a start up. They gave me a task to complete which involved some topics I learned about in my computational linguistics class last year. It wasn’t too crazy, but it did take a while to relearn what I’d forgotten about the algorithms involved. In the interview, the guy said that he wasn’t really looking for someone part time and remote though, so even if I did well, I don’t know if it’ll work out. Oh well, I guess I’ll just keep at it.

Anyway, another school year in a totally new place brings all new considerations.